2016-06-26 50 views
1

咕嘟咕嘟JavaScript文件過濾閱讀本question後,這個包documentation和一些關於水珠here,我無法找到使下面的代碼片段僅過濾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 

我也試試這個代碼段沒有結果可言:

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")); 

}); 

回答

0

嘗試管該過濾器gulp-flatten加入:

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

例如:

var flatten = require('gulp-flatten'); 

gulp.src('distribution/**/*.js') 
    .pipe(flatten()) 
    .pipe(gulp.dest('"www/javascripts')); 
相關問題