Показать сообщение отдельно
  #1880 (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
Ответить с цитированием