【发布时间】:2013-11-27 15:45:30
【问题描述】:
使用grunt-contrib-watch 推荐的版本仅编译更改的文件在此处:https://github.com/gruntjs/grunt-contrib-watch#compiling-files-as-needed
var changedFiles = Object.create(null);
var onChange = grunt.util._.debounce(function() {
grunt.config('jshint.all.src', Object.keys(changedFiles));
changedFiles = Object.create(null);
}, 200);
grunt.event.on('watch', function(action, filepath) {
changedFiles[filepath] = action;
onChange();
});
这很好用(我在这里写了一个变体:https://gist.github.com/pgilad/6897875)
问题是在 Jade 模板中使用 include 时,这意味着您正在包含其他 Jade 模板以构建完整的 html 文件。
使用单一解决方案进行编译不起作用,因为如果您正在处理的 .jade 文件是使用 include current_working_jade.jade 嵌入的 - 包含文件将不会被重新编译。
对于从头开始编译所有jade 文件除了是否有任何解决方法?当您每次要编译大约 60 个大的玉文件时,这会导致问题。
我能想到的唯一可能的解决方案是将jade模板依赖关系映射到外部或使用目录,但我不知道有什么工具/插件可以做到这一点......
【问题讨论】:
标签: javascript compilation pug gruntjs grunt-contrib-watch