Компилировать Jade в относительную папку с Grunt
Я использую grunt для компиляции моих файлов Jade. Моя структура папок выглядит следующим образом
-blocks
-header
-jade
header.jade
-html
-nav
...
Я хочу скомпилировать все jade-файлы для каждого блока, а затем отправить html-файлы в соответствующую html-папку. Я посмотрел вокруг, но не могу найти что-нибудь. Я относительно новичок, чтобы ворчать, так что я все еще понимаю это. Я думаю, что смогу как-то добиться этого с помощью cwd, но я не совсем понимаю, как это работает. Я поместил код ниже, который не проверен / псевдо-иш
jade:{
dist:{
files:{
src: "blocks/*/jade/*.jade",
dest: "html",
cwd: ??????
ext: '.html'
}
}
}
1 ответ
Там нет магии. Я обнаружил, что он объединяет все файлы Jade в один HTML. Вот решение, которое я могу найти:
var jadeDir = 'blocks/*/jade/';
var htmlSources = 'html';
var jadeTransforms = [];
//Read all the jade files and create a html file for each
//To create the jade files create a literal object with src, dest and ext for
//each file
var jadefiles = grunt.file.expand({cwd: jadeDir}, '*.jade');
for (var i =0, len = jadefiles.length; i < len; i++) {
var jadefile = jadefiles[i];
jadeTransforms.push({
src: jadeDir + jadefile,
dest: htmlSources + jadefile.substring(0, jadefile.indexOf('.jade')) + '.html',
ext: "html"
});
}
.....
// Here is my jade setup based on jadeTransforms
jade:{
dist:{
files:jadeTransforms
}
}