Yeoman & Grunt, как включить только в сборку

Я использую Yeoman для создания приложения Angular.

Есть раздел JavaScript, который я хочу включить на страницу только при сборке (в папку dist).

Есть ли какой-то способ сообщить задачам ворчания, которые запускают «сервер ворчания» во время разработки, пропустить часть шаблона и включить только его в сборку?


person markstewie    schedule 04.09.2013    source источник


Ответы (1)


Это звучит как идеальный пример использования grunt-processhtml.

Это позволяет вам размещать определенные директивы в вашем HTML. В вашем случае директива remove может быть тем, что вы ищете:

<!-- build:remove -->
<p>This will be removed when any process is done</p>
<!-- /build -->

<!-- build:dist:remove -->
<p>But this one only when doing processhtml:dist</p>
<!-- /build -->

Конечно, вы можете изменить это и получить фрагмент, который удаляется только в режиме сервера. Если вы настроите задачу для вывода HTML в .tmp/, сервер подключения будет автоматически обслуживать файл оттуда.

Затем вы можете добавить задачу processhtml в список задач для вашего сервера, например:

grunt.task.run([
  'clean:server',
  'concurrent:server',
  'autoprefixer',
  'processhtml:server',
  'connect:livereload',
  'open',
  'watch'
]);

и в раздел просмотра, поэтому более поздние изменения также вызывают обновление файла:

watch: {
  html: {
    files: ['<%= yeoman.app %>/*.html'],
    tasks: ['processhtml:server']
  }
}
person passy    schedule 04.09.2013
comment
Потрясающий ответ! Большое спасибо. - person markstewie; 05.09.2013