我是Grunt的新手,我看了一些关于手表插件的教程。例子:
watch:{
sass:{
files: 'sass/*.scss',
tasks: ['sass','cssmin']
}
}
我的问题是为什么我需要观看另一个像“sass”这样的插件而不是观看实际文件'sass / * .scss'?
我不明白,观看插件/任务而不是文件是不合逻辑的。
为什么我不能这样打电话:
watch:{
files: 'sass/*.scss',
tasks: ['sass','cssmin']
}
如果我还要关注我的js文件怎么办?我是否还需要将它放在sass任务的文件中?将js文件放入sass任务中是没有意义的......
答案 0 :(得分:1)
并不是说你在“观察”该插件,而是在文件发生变化时你正在观看一组文件并运行任务。 tasks
规范是指定所需任务的地方。因此,在这种情况下,您将运行sass和cssmin任务。
答案 1 :(得分:1)
你绝不是在看插件。假设你有另一个插件少,你想在不同的文件集上工作。你会怎么做?
watch {
sass: ...
less: ...
uglify: ...
}
即使你把js文件与sass放在一起(忽略它是一种可怕的做法),当grunt在该文件上调用sass时,什么都不会发生。
作为一个例子
module.exports = function (grunt) {
grunt.initConfig({
jshint: {
// ...
},
uglify: {
// ...
},
sass: {
// ...
},
foo: {
// ...
},
watch: {
javascript: {
files: 'javascripts/*/**.js',
tasks: ['jshint', 'uglify']
},
sass: {
files: 'sass/*/**.scss',
tasks: ['sass', 'foo']
}
}
});
// ...
};
js有不同的观察者,比如uglify。