Gruntjs 为什么不在GrunFile中为监视任务设置'task'选项?
在Grunfile.js中,我看到了如下代码:Gruntjs 为什么不在GrunFile中为监视任务设置'task'选项?,gruntjs,grunt-contrib-watch,Gruntjs,Grunt Contrib Watch,在Grunfile.js中,我看到了如下代码: watch: { jsTest: { files: ['test/spec/{,*/}*.js'], tasks: ['newer:jshint:test', 'karma'] }, gruntfile: { files: ['Gruntfile.js'] }, livereload: { options: { livereload: '<%= connect.options.li
watch: {
jsTest: {
files: ['test/spec/{,*/}*.js'],
tasks: ['newer:jshint:test', 'karma']
},
gruntfile: {
files: ['Gruntfile.js']
},
livereload: {
options: {
livereload: '<%= connect.options.livereload %>'
},
files: [
'<%= yeoman.app %>/{,*/}*.html',
'.tmp/styles/{,*/}*.css',
'<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
]
}
},
观察:{
jsTest:{
文件:['test/spec/{,*/}*.js'],
任务:['newer:jshint:test','karma']
},
Grunfile:{
文件:['grunfile.js']
},
利弗雷罗德:{
选项:{
livereload:'
},
档案:[
'/{,*/}*.html',
“.tmp/styles/{,*/}*.css”,
“/images/{,*/}*{png,jpg,jpeg,gif,webp,svg}”
]
}
},
我真的不明白这部分
Grunfile:{
文件:['grunfile.js']
},
以及以下livereload
部分
它似乎想查看grunfile.js
,但没有为其分配任何任务
选项。因此,当Gruntfile.js
被更改时,不会发生任何事情。。那么,将其添加到watch
列表中有什么意义 它们在0.4.0版中允许在grunfile.js
文件更改时重新加载所有Grunt配置。为此,不能指定任何任务
换句话说,如果您要指定tasks
选项,那么Grunt在更改时不会重新加载自己的配置。按照您的方式,当Gruntfile.js本身发生更改时,所有配置都将更新
例如,如果您正在观看一些JS文件,并且您更改了
jsTest
任务的配置(例如,您添加了一个新的要观看的文件文件夹),然后,因为您也在观看Gruntfile.js
您的新jsTest
配置将自动重新加载,而无需停止和启动watch
任务。您介意用示例解释此功能的用途吗?我在底部添加了一个更好的示例。如果你还有其他问题,请告诉我。