【问题标题】:How to tell Gulp to skip or ignore some files in gulp.src([...])?如何告诉 Gulp 跳过或忽略 gulp.src([...]) 中的某些文件?
【发布时间】:2014-11-03 05:08:09
【问题描述】:

如何让 Gulp 跳过或忽略 gulp.src([...]) 中的某些文件?例如,我不想在我的 css/ 文件夹中压缩和合并这个文件 - 'css/ignnore.css'?

var autoprefix = require('gulp-autoprefixer'),
    concat = require('gulp-concat'),
    minifyCss = require('gulp-minify-css');

gulp.task('styles', function() {
  gulp.src([
      'css/ignnore.css', // ignore this file
      'css/*.css'
    ])
    .pipe(concat('styles.css'))
    .pipe(autoprefix('last 2 versions'))
    .pipe(minifyCss())
    .pipe(gulp.dest('local/view/style/base/css/dist/'));
});

【问题讨论】:

    标签: css gulp gulp-concat


    【解决方案1】:

    添加!:

    gulp.task('styles', function() {
      gulp.src([
          '!css/ignnore.css', // <== !
          'css/*.css'
        ])
        .pipe(concat('styles.css'))
        .pipe(autoprefix('last 2 versions'))
        .pipe(minifyCss())
        .pipe(gulp.dest('local/view/style/base/css/dist/'));
    });
    

    【讨论】:

    • 我确实认为顺序很重要,排除必须放在包含之后(所以它有什么要排除的)。
    • @GustavoVargas 与 GitHub 上的 this comment 不一致。不过,我自己并没有对此进行太多研究。
    • FWIW 我尝试了两种排序并得到相同,正确的效果。
    【解决方案2】:

    试试这个:

    gulp.src(['css/**/!(ignore.css)*.css'])
    

    【讨论】:

    • 我正在尝试使用文件结尾来执行此操作,但它似乎无法正常工作,不知道为什么!我有'/**/!(.spec.js)*.js' 知道有什么问题吗?尝试一切@qwertymk
    • 谢谢。这似乎对我有用var tsFiles = '!(node_modules)/**/*.ts';
    • 这是一种非常简单的排除文件/文件类型的方法。太棒了!我的用例是防止 .html 文件被复制到 lib 脚本文件夹中,并将我的 gulp config src 定义为“lib”更改为:lib: './src/assets/scripts/lib/**/!(*.html)*' 成功了!
    • 我不得不删除扩展。这对我来说可以忽略 app.js 文件但包含所有其他 js 文件:assets/js/custom/!(app)*.js
    猜你喜欢
    • 2012-03-25
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    相关资源
    最近更新 更多