grunt-contrib-watch插件提供了很好的自动构建功能,但在某些情况下不会显示来自任务的警告消息,这里是我的grunt.js:
min: {
app: {
src: [
'some.js',
],
dest: 'some.min.js'
},
}
watch: {
app: {
files: 'some.js',
tasks: ['min:app']
},
}
如果来源不错,一切顺利;但是当UglifyJS中止时:
直接运行grunt min:app
Running "min:app" (min) task
Minifying with UglifyJS...ERROR
[L360:C46] Unexpected token name, expected punc (position: 8529)
<WARN> UglifyJS found errors. Use --force to continue. </WARN>
Aborted due to warnings.
通过观看插件自动构建
Waiting...OK
>> File "some.js" changed.
Running "min:app" (min) task
因此,如果不查看输出本身,就无法知道构建是否成功。
使用css less的类似设置会向CLI显示错误,我想知道是否需要传递给grunt / watch plugin / uglify才能使其正常工作?答案 0 :(得分:0)
观察使用过的jshint,你需要确保jshint配置正确,然后添加到watch命令的grunt任务中。将jshint任务添加到监视任务,还包括jshint的配置选项(以下示例):
jshint: {
all: [
'Gruntfile.js',
'some.js'
],
options: {
jshintrc: '.jshintrc'
}
},
// minification options here
watch: {
scripts: {
files: 'some.js',
tasks: ['jshint']
}
}
答案 1 :(得分:0)
看起来像Grunt v0.3.x + grunt-contrib-watch v0.1.4确实是问题......
https://github.com/gruntjs/grunt-contrib-watch/issues/19
https://github.com/gruntjs/grunt-contrib-watch/issues/7
(编辑:升级到Grunt v0.4.x + grunt-contrib-watch v0.2.x后,问题解决了;虽然我应该注意这是一次破解升级,大多数是v0 .3插件未转换为支持Grunt v0.4)
我也关闭了他们的回购票,供参考:https://github.com/gruntjs/grunt-contrib-watch/issues/51