1

我正在尝试缩小一点角脚本,但由于某种原因 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"
  }

我跑了grunt -v,在 jshint 完成后它永远输出:

Running "uglify" task

Running "uglify" task

Running "uglify" task

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

有任何想法吗?

4

1 回答 1

5

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

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

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

grunt.registerTask('compress', ['uglify']);
于 2015-05-30T00:40:07.910 回答