zoukankan      html  css  js  c++  java
  • gulp(三)插件gulp-uglify

    npm install gulp-uglify --save-dev

    //基本使用
    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'));
    });
    //压缩多个js文件
    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'));
    });
    //匹配符“!”,“*”,“**”,“{}”
    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'));
    });
    //指定变量名不混淆改变
    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'));
    });
    //gulp-uglify其他参数
    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'));
    });

    参考:

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

    https://github.com/terinjokes/gulp-uglify#user-content-options

    工欲善其事 必先利其器
  • 相关阅读:
    进程控制
    进程的状态与转换
    进程的概念和特征
    操作系统的体系结构:大内核和微内核
    系统调用
    中断和异常
    【转】Java-----jar反编译修改重新打包
    [转] Android Volley完全解析(一),初识Volley的基本用法
    [转] This Android SDK requires Android Developer Toolkit version 23.0.0 or above
    Can't bind to local 8700 for debugger报错和解决
  • 原文地址:https://www.cnblogs.com/fengyouqi/p/8183592.html
Copyright © 2011-2022 走看看