Для одностраничного приложения, над которым я работаю, у меня есть следующая структура:
- расстояние
- CSS
- JS
- Lib
- обертоны
- index.html
- ЦСИ
- CSS
- JS
- Lib
- Просмотры
- обертоны
- index.jade
Каталог dist будет использоваться экспресс-сервером для обслуживания проекта. У меня есть тривиальные задачи grunt (использование grunt-contrib-clean, grunt-contrib-copy) для очистки dist и копирования src/css, src/js, src/lib до dist.
Проблема заключается в src/views. Этот каталог содержит файлы jade, которые необходимо скомпилировать в html файлы. После компиляции я хочу, чтобы они были в dist (index.html в корневом каталоге dist, partials как subdir).
В настоящее время я использую задачу grunt-contrib-jade для компиляции и копирования нефритовых файлов. Я хочу скопировать их на dist, так как я не хочу добавлять скомпилированные html файлы в исходный элемент управления. Но теперь это не работает, так как вам нужно указать каждый нефритовый файл (сейчас их немного, но это будет расти):
jade: {
compile: {
options: {
pretty: true
},
files: {
// TODO make one line
'dist/index.html': ['src/views/index.jade'],
'dist/partials/banner.html': ['src/views/partials/banner.jade'],
'dist/partials/dashboard.html': ['src/views/partials/dashboard.jade'],
'dist/partials/navbar.html': ['src/views/partials/navbar.jade'],
'dist/partials/transfer.html': ['src/views/partials/transfer.jade']
}
}
},
Можно ли использовать задачу grunt-contrib-jade (или другую) с фильтром каталогов? Как это:
jade: {
compile: {
options: {
pretty: true
},
dir: {
'dist': ['src/views']
}
}
}