我正在尝试最小化一些棱角分明的脚本,但由于某种原因,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


似乎也不在乎我提供的文件,因此在读取文件之前似乎遇到了一些问题。

有任何想法吗?

最佳答案

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

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


这就是为什么您的咕unt声不断循环的原因。
只是给它起一个不同的名字:

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

关于node.js - Grunt 卡在丑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30528330/

10-11 22:21
查看更多