Javascript 尝试为开发和产品模式运行grunt任务不会运行默认任务

Javascript 尝试为开发和产品模式运行grunt任务不会运行默认任务,javascript,css,gruntjs,grunt-contrib-concat,grunt-contrib-uglify,Javascript,Css,Gruntjs,Grunt Contrib Concat,Grunt Contrib Uglify,我有两种模式,即prod模式下js和css小型化的生产和开发模式,以及dev模式下的concat模式 为此,我有多个任务,出于某种原因,我已将默认模式设置为“开发”,grunt没有说找不到任务“开发”。当我在默认任务中明确定义了开发时 这是我的Grunfile.js module.exports = function (grunt) { // Load grunt tasks automatically require('load-grunt-tasks')(grunt);

我有两种模式,即prod模式下js和css小型化的生产和开发模式,以及dev模式下的concat模式

为此,我有多个任务,出于某种原因,我已将默认模式设置为“开发”,grunt没有说找不到任务“开发”。当我在默认任务中明确定义了开发时

这是我的Grunfile.js

 module.exports = function (grunt) {
     // Load grunt tasks automatically
    require('load-grunt-tasks')(grunt);

    // object to represent the type of environment we are running in.
   var EnvType = {
      prod: 'production',
      dev: 'development'
   };

  grunt.initConfig({
    pkg: require('./package.json'),
    config: {
        // Configurable paths
        app: 'src/main/webapp',
        lib: '<%= config.app %>/lib',
        dist: 'target',
        distApp: '<%= config.dist %>/XXX'
    },
    clean:{
        dist: '<%= config.distApp%>',
        // Remove target folder
        target: '<%= config.dist%>'
    },

    // GENERATE CSS ----------------------------------------------------
    less: {
        development: {
            options: {
                compress: false,
                yuicompress: false,
                optimization: 2
            },
            files: {
                '<%= config.app%>/css/main.css': 'src/less/main.less'
            }
        },
        production: {
            files: {
                '<%= config.app%>/css/main.css': 'src/less/main.less'
            }
        }
    },
    //----------------------Concat CSS files----------------------
    concat: {
        css: {
            src: ['<%= config.app %>/css/ux.css', '<%= config.app %>/css/main.css' ],
            dest: '<%= config.distApp %>/css/style.css'
       },
        js: {
            src : ['<%= config.app %>/js/Utilities.js',
                   '<%= config.app %>/common/**/*.js',
                   '<%= config.app %>/js/**/*.js',
                   '<%= config.app %>/js/app.js'],

            dest: '<%= config.distApp %>/js/core.js'
        }
    },
    //----------------- Minify concatenated CSS stylesheet ------------------
    cssmin: {
        dist: {
            files: [{
                expand: true,
                cwd: '<%= config.distApp %>/css',
                src: 'style.css',
                dest: '<%= config.distApp %>/css',
                ext: '.min.css'
            }]
        }
    },
    uglify: {
        js: {
            files: {
                '<%= config.distApp %>/js/core.js': ['<%= config.distApp      %>/js/core.js']
            }
        }
    }
});

/**
 * Utility function to register the stylesheets task to grunt.
 * @param  {[type]} mode  [the mode, either dev, or production]
 */
var registerStyleSheetsTask = function(mode) {
    var styleTask = (mode === EnvType.dev) ? 'concat:css' : 'cssmin';
    grunt.registerTask('stylesheets:' + mode,
        'Compiles the stylesheets for development mode',
        ['clean', 'less:' + mode, styleTask]
    );
};

/**
 * Utility function to register the scripts task to grunt.
 * @param  {[type]} mode  [the mode, either dev, or production]
 */
var registerScriptsTask = function(mode) {
    // if we are running in dev mode, only concat the scripts
    // otherwise minify them also
    var scriptTask = (mode === EnvType.dev) ? 'concat:js' : 'uglify:js';

    grunt.registerTask('scripts:' + mode,
            'Compiles the javascript files in ' + mode + ' mode',
        ['clean', scriptTask]
    );
};

//register tasks for both prod and dev modes
registerStyleSheetsTask(EnvType.dev);
registerStyleSheetsTask(EnvType.prod);
registerScriptsTask(EnvType.dev);
registerScriptsTask(EnvType.prod);

// register development mode as the main task
grunt.registerTask('default', 'Default task: development', 'development');
module.exports=函数(grunt){
//自动加载grunt任务
要求('load-grunt-tasks')(grunt);
//对象来表示我们正在运行的环境类型。
变量类型={
产品:“生产”,
戴夫:“发展”
};
grunt.initConfig({
pkg:require('./package.json'),
配置:{
//可配置路径
应用程序:“src/main/webapp”,
lib:“/lib”,
地区:'目标',
distApp:“/XXX”
},
清洁:{
地区:'',
//删除目标文件夹
目标:“”
},
//生成CSS----------------------------------------------------
减:{
发展:{
选项:{
压缩:错,
yuicompress:错,
优化:2
},
档案:{
“/css/main.css”:“src/less/main.less”
}
},
制作:{
档案:{
“/css/main.css”:“src/less/main.less”
}
}
},
//----------------------Concat CSS文件----------------------
康卡特:{
css:{
src:['/css/ux.css','/css/main.css'],
dest:“/css/style.css”
},
js:{
src:['/js/Utilities.js',
“/common/***.js”,
“/js/***.js”,
'/js/app.js'],
dest:“/js/core.js”
}
},
//-----------------缩小连接的CSS样式表------------------
cssmin:{
地区:{
档案:[{
是的,
cwd:“/css”,
src:'style.css',
dest:“/css”,
分机:'.min.css'
}]
}
},
丑陋的:{
js:{
档案:{
'/js/core.js':['/js/core.js']
}
}
}
});
/**
*将样式表任务注册到grunt的实用函数。
*@param{[type]}mode[模式,开发或生产]
*/
var寄存器StyleSheetsTASK=函数(模式){
var styleTask=(mode==EnvType.dev)?'concat:css':'cssmin';
grunt.registerTask('样式表:'+模式,
“编译开发模式的样式表”,
['clean','less:'+模式,styleTask]
);
};
/**
*将脚本任务注册到grunt的实用函数。
*@param{[type]}mode[模式,开发或生产]
*/
var registerScriptsTask=函数(模式){
//如果我们是在开发模式下运行的,那么只有concat脚本
//否则,它们也会缩小
var scriptTask=(mode==EnvType.dev)?'concat:js':'uglify:js';
grunt.registerTask('scripts:'+模式,
'以'+模式+'模式'编译javascript文件,
['clean',scriptTask]
);
};
//为prod和dev模式注册任务
registerStyleSheetsTask(EnvType.dev);
注册表样式表STASK(EnvType.prod);
registerScriptsTask(EnvType.dev);
registerScriptsTask(EnvType.prod);
//注册开发模式为主要任务
registerTask('default','defaulttask:development','development');
})