grunt-contrib-uglify:压缩以及合并JavaScript文件。
插件安装:npm install grunt-contrib-uglify --save-dev
参数:
banner:文档头部添加,一般做说明和注释用
footer:文档底部添加,与banner功能相同
mangle:参数为false不混淆变量名(不改变原始定义的变量名);true:压缩后,改变原始定义的变量名
preserveComments:参数为all:保留注释;false:删除全部注释;some:保留@preserve/@license/@cc_on等注释
report:参数为min:输出压缩率;false:不输出信息;也可为gzip
beautify:参数为true:美化代码,即格式化显示,合并对象等;false:不美化代码
1.按原文件结构压缩js文件夹内所有JS文件
- expand:如果设为true,就表示下面文件名的占位符(即*号)都要扩展成具体的文件名。
- cwd:需要处理的文件所在目录
- src:表示需要处理的文件。如果采用数组的形式,数组中的每一项都是一个文件名,可以使用通配符(*)。
- dest:处理后的文件所在的目录。
- ext:处理后的文件的后缀名。
flatten:删除所有生成的dest的路径部分。
- rename:一个函数,接受匹配到的文件名、匹配的目标位置,返回一个新的目标路径。
grunt.initConfig({ pkg: grunt.file.readJSON(‘package.json‘), uglify: { options: { //添加banner banner: ‘/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n‘ }, buildall: { files: [{ expand: true, cwd: ‘js‘,//js目录下 src: ‘**/*.js‘,//所有js文件 dest: ‘output/js‘//输出到此目录下 }] } } });
2.合并压缩js
grunt.initConfig({ pkg: grunt.file.readJSON(‘package.json‘), uglify: { release: {// 合并压缩a.js和b.js files: { ‘output/js/index.min.js‘:[‘js/a.js‘,‘js/b.js‘] } } } });
时间: 2024-10-17 10:48:16