Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1881 (permalink)  
Старый 10.06.2016, 23:34
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от bes
grunt умер что ли уже?
я начал с гапла сразу)
ну если хочешь что бы у тебя был например универсальный инструмент, делаешь какой то кофиг, закидуешь на github например, и потом подключаешь в package.json
gulpConfig.js
module.exports = (gulp, params) => {
  gulp.task("join", () => {
    let files = fs.readdir(params.context);
    .... join

    fs.writeFile(params.join.output, output);
   });
}


gulpfile.js
let baseConfig = require("gulpConfig");
baseConfig( {
  context: __dirname,
  join:{
   output: "jon.test.js"
  }
} )


у меня это выглядит примерно так
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #1882 (permalink)  
Старый 11.06.2016, 00:23
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

cyber,
Непонятно зачем в context передавать __dirname, если в задаче было сказано что gruntfile/ gulpfile и исходники проекта в разных папках.
Ответить с цитированием
  #1883 (permalink)  
Старый 11.06.2016, 01:44
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

destus, я на сколько я понял bes, хочет уневерсальный конфиг который не зависит от проекта, или я его понял не так
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #1884 (permalink)  
Старый 11.06.2016, 12:00
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от cyber
destus, я на сколько я понял bes, хочет уневерсальный конфиг который не зависит от проекта, или я его понял не так
поясню подробнее

в вышеуказанной структуре каталогов
package.json
{
  "name": "test_project",
  "version": "0.0.1",
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-cli": "^1.2.0",
    "grunt-contrib-concat": "^1.0.1"
  }
}


Gruntfile.js
module.exports = function (grunt) {
	grunt.initConfig({
		concat: {
			test_target: {
			//нужно будет правильно указать пути
			  src: ['src/test1.js', 'src/test2.js'],
			  dest: 'dist/test.js',
			},
		},
	});
	grunt.loadNpmTasks("grunt-contrib-concat");
	grunt.registerTask("default", ["concat"]);
};


нужно добиться, например, того, чтобы из каталога с файлом ctr/grunt/Gruntfile.js просто вызывать команду grunt из консоли или добиться какого-нибудь другого работоспособного вызова
возможно test_project/ctr/grunt/node_modules/.bin нужно добавить в path, чтобы вызывать grunt.cmd оттуда из произвольного каталога, но этого недостаточно для того, чтобы всё получилось
в общем, попробовав несколько вариантов и не добившись положительного результата, до углублённого изучения кода grunt-a и его правки, спрашиваю, велосипедил ли кто-нибудь уже так?

сама мысль заюзать grunt из дополнительного каталога ctr (каталога для сборщиков) возникла на основе таких мыслей:
- есть отдельная сущность - сборщик, поэтому надо выделить ей отдельный каталог, внутри этого каталога для каждого сборщика выделить по отдельному каталогу
сборщик использует файлы в каталоге src, чтобы сформировать содержимое каталога dist
- довольно убого и нелогично выглядит, когда все конфиги, build-файлы и т.п. лежат в куче среди собственно исходных файлов или рядом с ними, и, чем больше таких файлов, тем более убого всё это выглядит
например, в случае с grunt
это могло бы выглядеть так
project_root
- dist
- src
--  test1.js
--  test2.js
- node_modules
- Gruntfile.js
- package.json

ещё хуже так, так как дополнительные файлы и каталоги не относятся к исходникам, для которых выделен отдельный каталог src
project_root
- dist
- src
--  test1.js
--  test2.js
--  node_modules
--  Gruntfile.js
-- package.json
Ответить с цитированием
  #1885 (permalink)  
Старый 14.06.2016, 10:39
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

как красиво сделать импорт для таких штук, как изменить такой экспорт
export default {
 x:{
   y: {
     d: ..
    }
  }
}

что бы можно было например сделать
import d from "..."

что бы не делать такого
import x from "..."
var d = x.y.d;

?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #1886 (permalink)  
Старый 14.06.2016, 11:04
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

cyber,
сделай обёртку для такого объекта
Ответить с цитированием
  #1887 (permalink)  
Старый 14.06.2016, 11:19
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

destus, в каком смысле обертку? геттеры?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #1888 (permalink)  
Старый 14.06.2016, 11:28
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

cyber,
а как модуль-фабрика в CommonJS нельзя сделать?
Ответить с цитированием
  #1889 (permalink)  
Старый 14.06.2016, 12:04
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

destus, не я перехожу полностью на es6 import/export. webpack 2 развалил совместимость между, module.exports и import. так же они поломали https://github.com/59naga/babel-plug...module-exports
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 14.06.2016 в 12:08.
Ответить с цитированием
  #1890 (permalink)  
Старый 14.06.2016, 17:30
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

cyber,
а через геттер, не устраивает? Или
let obj = {
	x: {
		y: {
			d: ...
		}
	}
}

export {obj, obj.x.y.d} ...

т.е. в любом случае где-то надо явно обратиться к свойству d, чтобы получить ссылку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смишных картинок тред megaupload Оффтопик 3448 03.07.2023 09:47
React'а тред melky Оффтопик 246 13.11.2016 08:07
Webpack'а тред nerv_ Сборка проекта, утилиты 58 07.05.2016 13:46
Смешных историй тред monolithed Оффтопик 11 04.03.2015 04:20
Смишных видео с намеком тред godofjavascript Оффтопик 4 30.12.2012 23:50