首页 > gulp排除文件的用法

gulp排除文件的用法

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文件也被压缩了,这是为啥呢?


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.src(['src/**/*.jpg','src/**/*.png','src/**/*.gif'])

这个能够简写吗


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


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

【热门文章】
【热门文章】