grunt压缩js文件
使用grunt 工具管理js文件时有几个常用功能例如压缩合并等
首先安装node环境,安装grunt
在目录环境下建立自己的项目my_project
添加两个源文件
{ "name": "my_project", "version": "0.1.0", "devDependencies": { "grunt": "~*", "grunt-contrib-concat": "^0.5.0", "grunt-contrib-jshint": "^0.10.0", "grunt-contrib-uglify": "^0.6.0" } }
package.json 具体参数说明参见https://www.npmjs.org/doc/files/package.json.html
运行 npm install
根目录会出现 node_modules 文件夹以及相应的grunt插件。
如没有再 package.json中写明,使用npm安装也是可以的 npm install grunt-contrib-插件名称 -g(全局安装) --save-dev(写入package.json).
创建 Gruntfile.js
示例如下
module.exports = function(grunt) { var pkg = grunt.file.readJSON(‘package.json‘); grunt.initConfig({ pkg: pkg, concat: { domop: { src: [‘src/search.js‘, ‘src/searchbar.js‘,‘src/showimg.js‘], dest: ‘dest/domop.js‘ } }, uglify: { options: { banner:"\n", mangle:false }, build:{ src:‘dest/domop.js‘, dest:‘dest/dest.js‘ } } }); //载入concat和uglify插件,分别对于合并和压缩 grunt.loadNpmTasks(‘grunt-contrib-concat‘); grunt.loadNpmTasks(‘grunt-contrib-uglify‘); //注册任务 grunt.registerTask(‘default‘, [‘concat‘, ‘uglify‘]); };
此时使用的是uglify压缩和concat合并
其中mangle 为是否替换变量,false时不替换变量,默认替换。还可为数组
mangle: { except: [‘jQuery‘, ‘Backbone‘] }
此时文件中遇到jQuery,Backbone则不进行替换。
banner:为添加注释
options: { banner: ‘/*! <%= pkg.name %> - v<%= pkg.version %> - ‘ + ‘<%= grunt.template.today("yyyy-mm-dd") %> */‘ }
详情见 https://github.com/gruntjs/grunt-contrib-uglify
合并参数链接 https://github.com/gruntjs/grunt-contrib-concat
grunt官网地址为:http://www.gruntjs.org/docs/sample-gruntfile.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。