Grunt 挂在 uglify 上

Grunt hangs on uglify

我正在尝试缩小一点 angular 脚本,但由于某种原因,uglify 会无限期地挂起。如果我将 JSHint 添加到任务列表中,JSHint 运行良好并完成,然后挂在 uglify 上。

这是我的 Gruntfile:

module.exports = function (grunt) {

    // Project configuration
    grunt.initConfig({
        // make node configuration available for use
        pkg: grunt.file.readJSON('package.json'),

        // configure uglify
        uglify: {
            options: {
                mangle: false
            },
            my_target: {
                dist: {'dist/test.min.js': ['src/test.js']}
            }
        },

        // configure JSHint
        jshint: {
            app: ['src/*.js']
        }

    });

    // load pluginsng
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-uglify');


    // default
    grunt.registerTask('default', ['jshint', 'uglify']);
    grunt.registerTask('uglify', ['uglify']);
};

以下是我使用的版本:

  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-contrib-jshint": "~0.11.2",
    "grunt-contrib-uglify": "~0.9.1"
  }

I 运行 grunt -v 并且在 jshint 完成后它永远输出这个:

Running "uglify" task

Running "uglify" task

Running "uglify" task

它似乎也不关心我给它什么文件,所以它似乎在读取我的文件之前遇到了一些问题。

有什么想法吗?

您在最后一行将 uglify 任务重新定义为 运行 本身,替换 g运行t-contrib-uglify:

grunt.registerTask('uglify', ['uglify']);

这就是你的 g运行t 无限循环的原因。 只需给它一个不同的名称:

grunt.registerTask('compress', ['uglify']);