Gruntjs 使用Grunt将Jade编译到相对文件夹
我正在使用grunt编译我的Jade文件。我的文件夹结构如下所示Gruntjs 使用Grunt将Jade编译到相对文件夹,gruntjs,pug,grunt-contrib-jade,Gruntjs,Pug,Grunt Contrib Jade,我正在使用grunt编译我的Jade文件。我的文件夹结构如下所示 -blocks -header -jade header.jade -html -nav ... 我想做的是编译每个块的所有jade文件,然后将html文件发送到相应的html文件夹。我环顾四周,但似乎什么也没找到。我对grunt还比较陌生,所以我仍然掌握着窍门。我在想我也许可以用cwd实现这一点,但我真的不明白它是如何工作的。我在下面放了一
-blocks
-header
-jade
header.jade
-html
-nav
...
我想做的是编译每个块的所有jade文件,然后将html文件发送到相应的html文件夹。我环顾四周,但似乎什么也没找到。我对grunt还比较陌生,所以我仍然掌握着窍门。我在想我也许可以用cwd实现这一点,但我真的不明白它是如何工作的。我在下面放了一些未经测试/伪ish的代码
jade:{
dist:{
files:{
src: "blocks/*/jade/*.jade",
dest: "html",
cwd: ??????
ext: '.html'
}
}
}
没有魔法。我发现它将所有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
}
}