有没有办法在 Grunt 中指定文件依赖项?即如果我有:
global/page.jade
project/index.jade -- includes global/page.jade
project/about.jade -- includes global/page.jade
project/test.jade
我改变global/page.jade
然后我想project/index|about.jade
重新编译。我检查了插件,但找不到任何可以提供该功能的东西。
有没有办法在 Grunt 中指定文件依赖项?即如果我有:
global/page.jade
project/index.jade -- includes global/page.jade
project/about.jade -- includes global/page.jade
project/test.jade
我改变global/page.jade
然后我想project/index|about.jade
重新编译。我检查了插件,但找不到任何可以提供该功能的东西。
grunt watch以下列方式在你的 gruntfile.js 中使用
...
watch: {
scripts: {
files: 'src/**/*',
tasks: ['buildDevelopment'],
options: {
interrupt: true,
},
}
grunt.registerTask('buildDevelopment', ['clean'
,'jade'
,'copy:development'
,'bowercopy:development'
]);
...
我建议增强 Atillas 解决方案。在每次更改时重新构建所有模板并不是最优的,并且会在大型项目中惹恼您。
安装: npm install grunt-newer --save-dev
文档: https ://www.npmjs.org/package/grunt-newer#optionsoverride
用法:
newer: {
options: {
override: function (detail, include) {
if (detail.task === 'jade') {
checkForModifiedImports(detail.path, detail.time, include);
} else {
include(false);
}
}
}
}
安装: npm install grunt-contrib-watch --save-dev
文档: https ://www.npmjs.org/package/grunt-contrib-watch
用法:
watch: {
scripts: {
files: '**/*.jade',
tasks: ['newer:jade'],
options: {
interrupt: true
},
},
}