有没有办法在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
。我检查了插件但找不到任何可以提供该功能的东西。
答案 0 :(得分:5)
grunt watch以下列方式在你的gruntfile.js中使用
...
watch: {
scripts: {
files: 'src/**/*',
tasks: ['buildDevelopment'],
options: {
interrupt: true,
},
}
grunt.registerTask('buildDevelopment', ['clean'
,'jade'
,'copy:development'
,'bowercopy:development'
]);
...
答案 1 :(得分:2)
我建议增强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
},
},
}