在Gruntfile.js中,我看到了这样的代码:
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}'
]
}
},
我真的无法理解这部分
gruntfile:{ 文件:['Gruntfile.js'] },
以下livereload
部分..
它似乎想要观看Gruntfile.js
,但没有为其分配任何tasks
选项。因此,Gruntfile.js
更改时不会发生任何事情。那么将此添加到watch
列表有什么意义呢?
答案 0 :(得分:1)
版本0.4.0中的implemented a new feature允许在Gruntfile.js
文件更改时重新加载所有Grunt配置。为此,不能指定任何任务。
换句话说,如果您要指定tasks
选项,那么Grunt在更改时不会重新加载自己的配置。你拥有它的方式,当Gruntfile.js本身发生变化时,所有配置都会更新。
例如,如果您正在观看某些JS文件并更改了jsTest
任务的配置(例如,您添加了要监视的新文件夹),那么因为您还在观察{{1您的新Gruntfile.js
配置将自动重新加载,而无需停止并启动jsTest
任务。