【问题标题】:Gulp JavaScript file filtering without their parent folders没有父文件夹的 Gulp JavaScript 文件过滤
【发布时间】:2016-06-26 02:43:53
【问题描述】:

在阅读了这个question、这个包documentation 和一些关于glob 的东西here 之后,我找不到让下面的代码sn-p 只过滤没有父文件夹的JavaScript 文件的方法:

gulp.task("distribution", function () {

    return gulp.src("distribution/**/*.js", { nodir: true })

    .pipe(gulp.dest("www/javascripts"));

});

我得到的是以下文件结构:

javascripts/bootstrap/dist/js/bootstrap.js

javascripts/hammerjs/hammer.js

javascripts/jquery/dist/jquery.js

javascripts/localforage/dist/localforage.js

javascripts/moment/moment.js

javascripts/vue/dist/vue.js

javascripts/vue-touch/vue-touch.js

而我想要得到的是以下文件结构:

javascripts/bootstrap.js

javascripts/hammer.js

javascripts/jquery.js

javascripts/localforage.js

javascripts/moment.js

javascripts/vue.js

javascripts/vue-touch.js  

我也试过这段代码 sn-p 没有结果:

gulp.task("distribution", function () {

    const filterToApply = filter("*.js", { restore: true });

    return gulp.src("distribution/**")

    .pipe(filterToApply)

    .pipe(gulp.dest("www/javascripts"));

});

虽然这个给我的结果和第一个一样:

gulp.task("distribution", function () {

    const filterToApply = filter("**/*.js", { restore: true });

    return gulp.src("distribution/**")

    .pipe(filterToApply)

    .pipe(gulp.dest("www/javascripts"));

});

【问题讨论】:

    标签: javascript npm gulp bower


    【解决方案1】:

    尝试通过添加gulp-flatten 来管道过滤器:

    .pipe(flatten()) 就在 gulp.dest 管道之前。

    例如:

    var flatten = require('gulp-flatten');
    
    gulp.src('distribution/**/*.js')
      .pipe(flatten())
      .pipe(gulp.dest('"www/javascripts'));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-30
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      相关资源
      最近更新 更多