node.js - Grunt watch 插件不显示 UglifyJS 中止消息

标签 node.js build-automation gruntjs

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 插件/uglify 才能使其工作?

最佳答案

Watch 使用了 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']

 }
}

关于node.js - Grunt watch 插件不显示 UglifyJS 中止消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14974875/

相关文章:

kubernetes - Grunt watch 在 Kubernetes 中抛出同步 :dev not found error with Sails. js

javascript - 有没有办法用 JavaScript 读取 Git 标签

node.js - Node/ express : concurrency issues when using session to store state

node.js - 如何使用 phantomjs 作为 npm 包

java - 所有 Java 构建工具都有什么用?

java - 如何使用巡航控制自动化 websphere 6.1 headless Ant 构建

node.js - Nodejs 中多个端口的 ElasticBeanStalk NGinx 配置

node.js - 使用 NodeJS 为 Google Cloud Storage 创建签名 URL

eclipse - 从源代码构建 Eclipse

javascript - grunt uglify 后 Angularjs 注入(inject)器错误