在这里使用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)
问题是在include
内部Jade模板中使用时,这意味着您将包括其他Jade模板以构建完整的html文件。
使用单一解决方案无法编译,因为如果.jade
您正在使用include current_working_jade.jade
的文件被嵌入使用-包含的文件将不会重新编译。
除了jade
从头开始编译所有文件之外,还有其他解决方法吗?每次要编译约60个大型玉文件时,这会引起问题。
我能想到的唯一可能的解决方案是在外部或通过目录映射Jade模板依赖关系,但是我不知道有什么工具/插件可以做到这一点。
在已经开始研究会产生某种翡翠的脚手架之后,sourcemap
我发现了这个伟大的项目,已经解决了这个问题:
用法如下:
npm install jade-inheritance --save-dev
您想从玉器获取依赖文件的列表的位置:
var JadeInheritance = require('jade-inheritance');
var inheritance = new JadeInheritance(file, basedirname, {basedir:basedirname});
然后,当您要获取文件时:
depenedentFiles = inheritance.files;
该项目还演示了如何应用该概念,grunt.watch
以便仅jade
使用其依赖项来编译已更改的文件,这正是我所需要的:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句