Какова рекомендуемая структура каталогов для проектов 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