在学习如何使用grunt 时,我正在尝试制作一个简单的咖啡脚本观察器/编译器。问题是,如果我告诉watch任务观察多个文件,并且其中一个发生变化,它会将所有文件传递给coffee命令。这意味着当您更改 1 个文件时,它将重新编译与该模式匹配的所有文件src。相反,我只想重新编译与src模式匹配的更改的单个文件。
这是grunt.js:
module.exports = function(grunt) {
grunt.initConfig({
coffee: {
app: {
src: ['test/cases/controller/*.coffee'],
dest: 'tmp',
options: {
bare: true,
preserve_dirs: true
}
}
},
watch: {
files: ['<config:coffee.app.src>'],
tasks: ['coffee:app']
}
});
grunt.loadNpmTasks('grunt-coffee');
grunt.registerTask('default', 'coffee');
};
这是使用grunt-coffee,基本上是这样的:https : //gist.github.com/2373159。
当我运行grunt watch并将文件保存在 中时test/cases/controller/*.coffee,它会编译所有匹配的文件(将它们放入 中tmp/*)。
你如何只使用 grunt编译更改过的文件?