Grunt 插件詳解 【grunt-contrib-uglify】

1、做用html

  主要用於JavaScript代碼的壓縮與混淆。npm

 

2、下載安裝json

1.下載模塊grunt

 

npm install grunt-contrib-uglify --save-dev

 

2.加載模塊ui

 

grunt.loadNpmTasks('grunt-contirb-uglify');

3.總體配置(Gruntfile.js)spa

 1 module.exports = function(grunt) {
 2 
 3     //grunt運行配置
 4  grunt.initConfig({ 5 6 //讀取package.json配置 7 pkg: grunt.file.readJSON("package.json"), 8 9 //配置uglify任務 10  uglify: { 11  ... 12  } 13  }); 14 15 //加載grunt-contrib-uglify模塊 16 grunt.loadNpmTasks('grunt-contrib-uglify'); 17 18 //將uglify任務註冊到默認指令中 19 grunt.registerTask("default", ['uglify']); 20 };

 

 

3、uglify任務配置code

 1 module.exports = function(grunt) {
 2 
 3     //grunt運行配置
 4     grunt.initConfig({
 5 
 6         //讀取package.json配置
 7         pkg: grunt.file.readJSON("package.json"),
 8 
 9         //配置uglify任務
10         uglify: {
11             options: {
12                 banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' //註釋名稱
13             },
14             build_a: {
15                 options: {
16                     mangle: true, //是否混淆
17                     preserveComments: 'all', //不刪除註釋,還能夠爲 false(刪除所有註釋),some(保留@preserve @license @cc_on等註釋)
18                     footer: '\n/*! <%= pkg.name %> 最後修改於: <%= grunt.template.today("yyyy-mm-dd") %> */' //添加footer
19                 },
20                 files: {
21                     'dist/<%= pkg.name %>.min.js': ['src/index.js', 'src/login.js']
22                 }
23             },
24             build_b: {
25                 options: {
26                     report: "min", //輸出壓縮率,可選的值有 false(不輸出信息),gzip
27                     beautify: { //是否格式顯示
28                         width: 80,
29                         beautify: false
30                     }
31                 },
32                 files: {
33                     'dist/<%= pkg.name %>.min.js': ['src/index.js']
34                 }
35             },
36             build_all: { //按原文件結構壓縮js文件夾內全部JS文件
37                 files: [{
38                     expand: true,
39                     cwd: 'src', //js目錄下
40                     src: '**/*.js', //全部js文件
41                     dest: 'dist' //輸出到此目錄下
42                 }]
43             },
44             release: { //合併壓縮a.js和b.js
45                 files: {
46                     'dist/<%= pkg.name %>.min.js': ['src/index.js', 'src/login.js']
47                 }
48             }
49         }
50 
51     });
52 
53     //加載grunt-contrib-uglify模塊
54     grunt.loadNpmTasks('grunt-contrib-uglify');
55 
56     //將uglify任務註冊到默認指令中
57     grunt.registerTask('builda', ['uglify:build_a']);
58     grunt.registerTask('buildb', ['uglify:build_b']);
59     grunt.registerTask('buildall', ['uglify:build_all']);
60     grunt.registerTask('buildrelease', ['uglify:release']);
61 
62 };

 

 

 參考文章:http://www.cnblogs.com/artwl/p/3449303.htmlhtm

相關文章
相關標籤/搜索