使用grunt观察并重新编译单个模板
Watch and recompile individual templates with grunt
我有一个目录,里面有一堆jade模板,还有一个将所有模板编译为单个html文件的grunt任务。
我希望有一个监视任务,当模板发生变化时重新编译它,但现在我的任务会在其中任何一个发生变化时,重新编译每个模板。
这是一个要点演示。
有没有一种简洁的方法可以编写一个任务,在模板更改时重新编译它,而不是所有其他模板
解决方案是向文件列表中添加一个filter
函数:
var fs = require('fs');
var join = require('path').join;
module.exports = function(grunt) {
grunt.initConfig({
jade: {
files: {
src: ['*.jade'],
dest: './',
expand: true,
ext: '.html',
filter: function(destDir, src) {
var dest = join(destDir, src.replace(/jade$/, 'html'));
var destMod;
try {
destMod = +fs.lstatSync(dest).mtime;
} catch (e) {
if (e.code === 'ENOENT') {
// there's no html file, so ensure that the
// jade file is compiled by returning true
return true;
}
throw e;
}
return fs.lstatSync(src).mtime > destMod;
}
}
},
watch: {
files: ['*.jade'],
tasks: ['jade']
}
});
grunt.loadNpmTasks('grunt-contrib-jade');
grunt.loadNpmTasks('grunt-contrib-watch');
};
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 打开一个模态并将其链接到AngularJS中的指令
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 是否可以禁用jquery中的单个单选按钮
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 模运算符前的双水平线
- 使用Gulp手柄部分编译为单个HTML文件
- 使用 php/jquery 动态更新单个模态
- 在单个文件中需要js和多个已编译的Handlebar.js模板
- Bootstrap 模态填充了相同的单个值 - Meteor+React
- 如何将多个 angularjs 文件编译为单个应用程序文件
- 电子表格中的单个动态模态/ JS(而不是每个单元格一个)
- 使用grunt观察并重新编译单个模板
- 使用RequireJs和Grunt将TypeScript编译到单个文件中
- 咕噜玉-如何编译单个玉文件而不是所有文件
- AngularJS获取单个模型记录用于在模态中编辑
- 为单个文件编写TypeScript编译顺序
- 覆盖
点击时,在单个单元格中切换模态 - TypeScript 项目组织,编译成单个 JS 文件