1. 程式人生 > >gulp教程之gulp-uglify

gulp教程之gulp-uglify

簡介:

使用gulp-uglify壓縮javascript檔案,減小檔案大小。

1、安裝nodejs/全域性安裝gulp/專案安裝gulp/建立package.json和gulpfile.js檔案

1.1、gulp基本使用還未掌握?請參看: gulp詳細入門教程

1.2、本示例目錄結構如下:

2、本地安裝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?

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

5、結束語

來源:http://www.ydcss.com/archives/54