web 开发自动化grunt

时间:2021-12-22 15:50:40

现在web开发自动化已很流行,如何进行压缩文件,如何进行测试js是否正确,如何进行

检测html文件是否规范等等都可以通过web自动化技术进行实现,只要打一个命令即可。

本文主要是通过grunt进行实现。

grunt如何安装请参看Grunt中文网 "http://gruntjs.cn/"

如果要添加其他组件利用nodejs的npm包管理工具进行安装:"npm install grunt-contrib-quint --save-dev"

命令执行完后会自动在package.json中添加

在项目文件中要添加"package.json"和"Gruntfile.js"文件。

"package.json":是项目信息。

"Gruntfile.js":项目所加载的自动化处理组件。

"pageage.json"文件内容如下:

{
"name": "gruntdemo",
"version": "0.1.0",
"description": "grungdemo",
"author": "tom",
"devDependencies": {
"grunt": "^0.4.5",
"grunt-contrib-clean": "^0.5.0",
"grunt-contrib-concat": "^0.4.0",
"grunt-contrib-imagemin": "^0.7.1",
"grunt-contrib-uglify": "^0.5.0"
}
}

"Gruntfile.js"文件内容如下:

module.exports = function (grunt) {
'use strict';
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
banner:'/*<%=pkg.author%>*/\n',
clean:{
src:['dist']
},
concat:{
options:{
banner:'<%=banner%>',
stripBanners:true
},
dist:{
src:['src/*.js'],
dest:'dist/<%=pkg.name%>.js'
}
},
uglify:{
options:{
banner:'<%=banner%>'
}, /* dist:{
src:'<%=concat.dist.dest%>',
dest:'dist/t<%=pkg.name%>.min.js'
}*/ /*dist:{
files:{
'dist/t<%=pkg.name%>.min.js':['<%=concat.dist.dest%>']
}
}*/ dist:{
files:[
{
src:'<%=concat.dist.dest%>',
dest:'dist/t<%=pkg.name%>.min.js'
}
]
}
},
imagemin: {
/* 压缩图片大小 */
dist: {
options: {
optimizationLevel: 3 //定义 PNG 图片优化水平
},
files: [
{
expand: true,
cwd: 'img/',
src: ['**/*.{png,jpg,jpeg}'], // 优化 img 目录下所有 png/jpg/jpeg 图片
dest: 'img/' // 优化后的图片保存位置,覆盖旧图片,并且不作提示
}
]
}
}
});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-imagemin');
//grunt.registerTask('img', ['imagemin']);
grunt.registerTask('default',['clean','concat','uglify']);
};

  现在通过grunt命令即可,实现js的压缩和图片的压缩。