Javascript 尝试为开发和产品模式运行grunt任务不会运行默认任务
我有两种模式,即prod模式下js和css小型化的生产和开发模式,以及dev模式下的concat模式 为此,我有多个任务,出于某种原因,我已将默认模式设置为“开发”,grunt没有说找不到任务“开发”。当我在默认任务中明确定义了开发时 这是我的Grunfile.jsJavascript 尝试为开发和产品模式运行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);
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');
})