uglify和concat grunt插件不能一起工作

时间:2014-06-06 14:23:04

标签: gruntjs

我想知道我的grunfile.js文件有什么问题

module.exports = function(grunt) {

    // 1. All configuration goes here 
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),

        concat: {   
    dist: {
        src: [
            'js/libs/*.js', // All JS in the js folder
            'js/global.js',

        ],
        dest: 'js/production/production.js',
    }
},

uglify: {
    build: {
        src: 'js/production/production.js',
        dest: 'js/production/production.min.js'
    }
}



    });

    // 3. Where we tell Grunt we plan to use this plug-in.
    grunt.loadNpmTasks('grunt-contrib-concat', 'grunt-contrib-uglify');


    // 4. Where we tell Grunt what to do when we type "grunt" into the terminal.
   grunt.registerTask('default', ['concat', 'uglify']);

};

我一直有这个错误:"找不到任务uglify。使用--force继续。"

我正在关注coyer的教程(http://24ways.org/2013/grunt-is-not-weird-and-hard/#fn167318486852a968d2ca848),但我无法弄清楚如何在另一个之后添加一大块代码。

concat插件单独工作,但是当我添加uglify插件时,我收到错误。它可能是语法,但我无法解决它(我移动代码,重复整个块等)没有任何作用。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我猜你的目标存在范围问题。

请注意,对于concat使用'dist',而对uglify使用'build'作为所谓的目标。 例如,尝试使用'dist'。

在此处查看目标的更多信息: http://gruntjs.com/configuring-tasks#task-configuration-and-targets

通过在注册的默认任务中指定它们,如果你真的需要目标名称的差异,你也可以克服这个问题。

grunt.registerTask('default', ['concat:dist', 'uglify:build'])

编辑:

当我重读你的问题时,我看到你只用一个函数加载你的NpmTasks,用逗号分隔。 如此处所述(http://gruntjs.com/sample-gruntfile),它们必须以单行加载,每行都为自己加载,如下所示:

grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');