Какова рекомендуемая структура каталогов для проектов Grunt
Я создаю проект Grunt в первый раз. Есть ли рекомендуемая структура каталогов? Например, держите источники под /src, артефакты промежуточной сборки в /stage и конечные конкатенированные, миниатюрные артефакты в /dist.
Я также использую компас/сасс. Я предполагаю, что мои scss файлы должны находиться под /src, но какой правильный способ настроить рабочий процесс сборки так, чтобы я быстро строил и тестировал, не загромождая исходный каталог с артефактами сборки.
Ответы
Ответ 1
У меня просто есть /src и/build (это ваш /dist ), а no/stage. Я не нашел реальной необходимости в сцене, возможно, потому, что у меня не так много интеграционных тестов. Дайте мне знать, для чего вы работаете/сценируйте - мне любопытно.:)
/myproject
/build
/src
/css
/sass
У меня есть как /sass, так и a/css./css содержит единственный файл main.css, скомпилированный w/SASS. В моем Gruntfile.js у меня есть 2 цели SASS, sass: dev и sass: build. sass: dev компилируется в /src/css и sass: build into/build/css./src/css/main.css git -/svn-ignored.
В конце концов, Grunt не заботится о том, как вы организуете свои источники. Он просто предполагает, что Gruntfile.js и / node_modules находятся в корне проекта и что он. Это фактически NPM, который предполагает package.json в корне.
Итак, попробуйте разные структуры и расположитесь на одном, который вам нравится, что всегда зависит от того, какие инструменты вы используете.
Надеюсь, это поможет!:)
Ответ 2
Запуск grunt init:jquery
или grunt init:node
должен дать вам неплохое начало при ответе на этот вопрос.
Вот результат запуска grunt init:jquery
внутри каталога с именем init_test и выбора ответа по умолчанию для приглашений grunt-init.
Writing CONTRIBUTING.md...OK
Writing grunt.js...OK
Writing libs/jquery/jquery.js...OK
Writing libs/jquery-loader.js...OK
Writing libs/qunit/qunit.css...OK
Writing libs/qunit/qunit.js...OK
Writing README.md...OK
Writing src/init_test.js...OK
Writing test/init_test.html...OK
Writing test/init_test_test.js...OK
Writing LICENSE-MIT...OK
См. https://github.com/gruntjs/grunt-init