1

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.

通过 watch 插件自动构建

Waiting...OK
>> File "some.js" changed.
Running "min:app" (min) task

因此,如果不查看输出本身,就无法知道构建是否成功。

与 css less 类似的设置确实会向 CLI 显示错误,我想知道是否需要将某些内容传递给 grunt/watch plugin/uglify 以使其工作?

4

2 回答 2

0

watch 使用了 jshint,你需要确保 jshint 配置正确,然后添加到你的 grunt 任务中以获取 watch 命令。将 jshint 任务添加到您的监视任务中,还包括 jshint 的配置选项(示例如下):

 jshint: {
   all: [
    'Gruntfile.js',
    'some.js'
  ],
  options: {
    jshintrc: '.jshintrc'
  }
},
// minification options here
watch: {
  scripts: {
    files: 'some.js',
    tasks: ['jshint']

 }
}
于 2013-02-20T08:19:35.103 回答
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

于 2013-02-20T09:02:22.563 回答