gulp教程之gulp-uglify(压缩javascript文件,减小文件大小)

原文:http://www.ydcss.com/archives/54

简介:

使用gulp-uglify压缩javascript文件,减小文件大小。

1、安装nodejs/全局安装gulp/项目安装gulp/创建package.json和gulpfile.js文件

1.1、gulp基本使用还未掌握?请参看: gulp详细入门教程

1.2、本示例目录结构如下:

《gulp教程之gulp-uglify(压缩javascript文件,减小文件大小)》

2、本地安装gulp-uglify

2.1、github:https://github.com/terinjokes/gulp-uglify

2.2、安装:命令提示符执行 cnpm install gulp-uglify --save-dev

2.3、注意:没有安装cnpm请使用 npm install gulp-uglify --save-dev。 什么是cnpm,如何安装?

2.4、说明:--save-dev 保存配置信息至 package.json 的 devDependencies 节点。为什么要保存至package.json?

《gulp教程之gulp-uglify(压缩javascript文件,减小文件大小)》

3、配置gulpfile.js

3.1、基本使用

JavaScript  

1 2 3 4 5 6 7 8 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      gulp . src ( ‘src/js/index.js’ )          . pipe ( uglify ( ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

3.2、压缩多个js文件

JavaScript  

1 2 3 4 5 6 7 8 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      gulp . src ( [ ‘src/js/index.js’ , ‘src/js/detail.js’ ] ) //多个文件以数组形式传入          . pipe ( uglify ( ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

3.3、匹配符“!”,“*”,“**”,“{}”

JavaScript  

1 2 3 4 5 6 7 8 9 10 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      //压缩src/js目录下的所有js文件      //除了test1.js和test2.js(**匹配src/js的0个或多个子文件夹)      gulp . src ( [ ‘src/js/*.js’ , ‘!src/js/**/{test1,test2}.js’ ] )          . pipe ( uglify ( ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

3.4、指定变量名不混淆改变

JavaScript  

1 2 3 4 5 6 7 8 9 10 11 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      gulp . src ( [ ‘src/js/*.js’ , ‘!src/js/**/{test1,test2}.js’ ] )          . pipe ( uglify ( {              //mangle: true,//类型:Boolean 默认:true 是否修改变量名              mangle : { except : [ ‘require’ , ‘exports’ , ‘module’ , ‘$’ ] } //排除混淆关键字          } ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

3.5、gulp-uglify其他参数 具体参看

JavaScript  

1 2 3 4 5 6 7 8 9 10 11 12 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      gulp . src ( [ ‘src/js/*.js’ , ‘!src/js/**/{test1,test2}.js’ ] )          . pipe ( uglify ( {              mangle : true , //类型:Boolean 默认:true 是否修改变量名              compress : true , //类型:Boolean 默认:true 是否完全压缩              preserveComments : ‘all’ //保留所有注释          } ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

4、执行任务

4.1、命令提示符执行:gulp jsmin

《gulp教程之gulp-uglify(压缩javascript文件,减小文件大小)》

 

简介:

使用gulp-uglify压缩javascript文件,减小文件大小。

1、安装nodejs/全局安装gulp/项目安装gulp/创建package.json和gulpfile.js文件

1.1、gulp基本使用还未掌握?请参看: gulp详细入门教程

1.2、本示例目录结构如下:

《gulp教程之gulp-uglify(压缩javascript文件,减小文件大小)》

2、本地安装gulp-uglify

2.1、github:https://github.com/terinjokes/gulp-uglify

2.2、安装:命令提示符执行 cnpm install gulp-uglify --save-dev

2.3、注意:没有安装cnpm请使用 npm install gulp-uglify --save-dev。 什么是cnpm,如何安装?

2.4、说明:--save-dev 保存配置信息至 package.json 的 devDependencies 节点。为什么要保存至package.json?

《gulp教程之gulp-uglify(压缩javascript文件,减小文件大小)》

3、配置gulpfile.js

3.1、基本使用

JavaScript  

1 2 3 4 5 6 7 8 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      gulp . src ( ‘src/js/index.js’ )          . pipe ( uglify ( ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

3.2、压缩多个js文件

JavaScript  

1 2 3 4 5 6 7 8 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      gulp . src ( [ ‘src/js/index.js’ , ‘src/js/detail.js’ ] ) //多个文件以数组形式传入          . pipe ( uglify ( ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

3.3、匹配符“!”,“*”,“**”,“{}”

JavaScript  

1 2 3 4 5 6 7 8 9 10 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      //压缩src/js目录下的所有js文件      //除了test1.js和test2.js(**匹配src/js的0个或多个子文件夹)      gulp . src ( [ ‘src/js/*.js’ , ‘!src/js/**/{test1,test2}.js’ ] )          . pipe ( uglify ( ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

3.4、指定变量名不混淆改变

JavaScript  

1 2 3 4 5 6 7 8 9 10 11 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      gulp . src ( [ ‘src/js/*.js’ , ‘!src/js/**/{test1,test2}.js’ ] )          . pipe ( uglify ( {              //mangle: true,//类型:Boolean 默认:true 是否修改变量名              mangle : { except : [ ‘require’ , ‘exports’ , ‘module’ , ‘$’ ] } //排除混淆关键字          } ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

3.5、gulp-uglify其他参数 具体参看

JavaScript  

1 2 3 4 5 6 7 8 9 10 11 12 var gulp = require ( ‘gulp’ ) ,      uglify = require ( ‘gulp-uglify’ ) ;   gulp . task ( ‘jsmin’ , function ( ) {      gulp . src ( [ ‘src/js/*.js’ , ‘!src/js/**/{test1,test2}.js’ ] )          . pipe ( uglify ( {              mangle : true , //类型:Boolean 默认:true 是否修改变量名              compress : true , //类型:Boolean 默认:true 是否完全压缩              preserveComments : ‘all’ //保留所有注释          } ) )          . pipe ( gulp . dest ( ‘dist/js’ ) ) ; } ) ;

4、执行任务

4.1、命令提示符执行:gulp jsmin

《gulp教程之gulp-uglify(压缩javascript文件,减小文件大小)》

    原文作者:Hendsame
    原文地址: https://www.cnblogs.com/HendSame-JMZ/articles/6182939.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞