javascript - gulp排除文件的用法
天蓬老师
天蓬老师 2017-04-10 15:55:21
[JavaScript讨论组]
var gulp = require('gulp');
var del = require('del');
var uglify = require('gulp-uglify');
var gutil = require('gulp-util');
var colors = require('colors/safe');
var gulpif = require('gulp-if');

gulp.task('build', function () {
    gutil.log(colors.red('开始压缩js...'));


    gulp.src(['*.js', '!gulpfile.js'])
        .pipe(gulpif('!lang-*.js', uglify()))
        .pipe(gulp.dest('dist'));
});

gulp.task('clean', function () {
    gutil.log(colors.red('开始清空文件'));
    del([
        'dist'
    ])
});

本意是想压缩当前目录下的文件夹,但是要排除掉以lang开头的js文件,但是我查看了一下结果,发现lang开头的js文件也被压缩了,这是为啥呢?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(5)
巴扎黑

在gulp.src数组参数用 !lang-*.js

天蓬老师

gulp-if 不支持 'globbing'吧,

自己写个 condition 函数,第一个参数就是文件名,然后根据你是否要 ugligy 返回 true or false;

其实吧,你把这一句拆成两句不行么?

    gulp.src(['*.js', '!gulpfile.js'])
        .pipe(gulpif('!lang-*.js', uglify()))
        .pipe(gulp.dest('dist'));
    gulp.src(['*.js', '!gulpfile.js',"!lang-*.js"])
        .pipe(uglify()))
        .pipe(gulp.dest('dist'));
    gulp.src(["lang-*.js"])
        .pipe(gulp.dest('dist'));
高洛峰

赞同楼上两位的回答,我推荐一个插件给你 gulp-filter: https://github.com/sindresorhus/gulp-filter 顺便推荐我们team的use-gulp项目给你 https://github.com/Platform-CUF/use-gulp

大家讲道理
gulp.src(['src/**/*.jpg','src/**/*.png','src/**/*.gif'])

这个能够简写吗

天蓬老师

通过file.path获取路径名,然后用正则进行筛选

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号