我正在开发一个单页应用程序,其结构如下:
- dist
- css
- js
- lib
- partials
- index.html
- src
- css
- js
- lib
- views
- partials
- index.jade
目录dist将被Express服务器用来提供项目服务。我使用简单的grunt任务(使用grunt-contrib-clean、grunt-contrib-copy)清理dist并将src/css、src/js、src/lib复制到dist。
问题出在src/views上。这个目录包含需要编译为HTML文件的Jade文件。编译后,我希望它们位于dist目录下(index.html在dist根目录下,partials作为子目录)。
目前,我正在使用grunt-contrib-jade任务来编译和复制jade文件。我想将它们复制到dist中,因为我不想将编译后的HTML文件添加到源代码控制中。但现在这并不是很可行,因为你必须指定每个jade文件(现在只有几个,但会增加):
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']
}
}
}