在学习如何使用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编译更改的文件?