一份Gruntfile.js的样板

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
       
       
/*********************
说明:文件结构基于 HTML5Boilerplate:
 
+ index.html
 
- css
+ main.css
 
- js
- vendor
+ main.js
 
+ img/
 
***************************/
 
/*global module:false*/
module . exports = function ( grunt ) {
'use strict' ;
grunt . initConfig ({
csslint : {
/* 检查 CSS 语法 */
src : [ 'css/**/*.css' ]
},
jshint : {
/* 检查 js 语法 */
all : [ 'Gruntfile.js' , 'js/main.js' , 'js/lib/*.js' ]
},
imagemin : {
/* 压缩优化图片大小 */
dist : {
options : {
optimizationLevel : 3
},
files : [
{
expand : true ,
cwd : 'img/' ,
src : [ '**/*.{png,jpg,jpeg}' ], // 优化 img 目录下所有 png/jpg/jpeg 图片
dest : 'img/' // 优化后的图片保存位置,默认覆盖
}
]
}
},
concat : {
/* 合并 CSS 文件 */
css : {
src : [ 'css/normalize.min.css' , 'css/cssgrids-min.css' , 'css/helper.css' , 'css/main.css' , '...' ],
/* 根据目录下文件情况配置 */
dest : 'css/all.css'
},
js : {
src : [ '' ],
/* 根据目录下文件情况配置 如果可以使用 require.js/LABjs 等配置更佳 */
dest : 'js/all.js'
}
},
cssmin : {
/*压缩 CSS 文件为 .min.css */
options : {
keepSpecialComments : 0 /* 移除 CSS 文件中的所有注释 */
},
minify : {
expand : true ,
cwd : 'css/' ,
src : [ 'all.css' ],
dest : 'css/' ,
ext : '.min.css'
}
},
uglify : {
/* 最小化、混淆、合并 JavaScript 文件 */
target : {
files : {
'js/all.min.js' : [ 'js/all.js' ]
}
},
minjs : { //最小化、混淆所有 js/ 目录下的 JavaScript 文件
files : [{
expand : true ,
cwd : 'js/' ,
src : [ '**/*.js' , '!**/*.min.js' ],
dest : 'js/' ,
ext : '.min.js'
}]
}
},
watch : {
/* 监控文件变化并执行相应任务 */
img : {
files : [ 'img/**/*.{png,jpg,jpeg}' ],
options : {
livereload : true
}
},
css : {
options : {
event : [ 'changed' , 'added' ],
livereload : true
},
files : [ 'css/**/*.css' ]
},
js : {
options : {
livereload : true
},
files : [ 'js/**/*.js' ]
},
html : {
options : {
livereload : true
},
files : [ '*.html' ]
}
}
});
grunt . loadNpmTasks ( 'grunt-contrib-csslint' );
grunt . loadNpmTasks ( 'grunt-contrib-jshint' );
grunt . loadNpmTasks ( 'grunt-contrib-cssmin' );
grunt . loadNpmTasks ( 'grunt-contrib-imagemin' );
grunt . loadNpmTasks ( 'grunt-contrib-concat' );
grunt . loadNpmTasks ( 'grunt-contrib-uglify' );
grunt . loadNpmTasks ( 'grunt-contrib-watch' );
// 定义默认任务
grunt . registerTask ( 'default' , [ 'csslint' , 'jshint' , 'imagemin' , 'cssmin' , 'concat' , 'uglify' ]);
grunt . registerTask ( 'css' , [ 'concat:css' , 'cssmin' ]);
grunt . registerTask ( 'dev' , [ 'csslint' , 'jshint' ]);
grunt . registerTask ( 'dest' , [ 'imagemin' , 'concat:css' , 'cssmin' , 'uglify:minjs' ]);
};
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值