Grunt挂在uglify上

时间:2015-05-29 11:23:17

标签: node.js gruntjs minify grunt-contrib-uglify

我正在尝试缩小一个小角度脚本,但由于某种原因,uglify只是无限期地挂起。如果我将它添加到任务列表中,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"
  }

我跑了grunt -v并且在jshint完成之后它会永远输出:

Running "uglify" task

Running "uglify" task

Running "uglify" task

它似乎并不关心我给它的文件,因此它在阅读我的文件之前似乎遇到了一些问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您正在重新定义uglify任务以在最后一行中运行,替换grunt-contrib-uglify:

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

这就是为什么你的咕噜声无休止地循环。 只需给它一个不同的名称:

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