2016-06-29 25 views
2

私はベースバージョンを持つ製品を持っていますが、別の顧客用にカスタマイズされたバージョンもあります。私は顧客のビルドのための特定のファイルを含めるためにASP.NETのbundleconfigsを使用していますが、私はGulpに切り替えようとしています。Gulpに他のファイルが存在しない場合はインクルードファイル

これは私の簡略化されたディレクトリ構造である:私がする必要がどのような

- App 
- App/Js 
- App/Js/Base 
- App/Js/Base/file1.js 
- App/Js/Base/file2.js 
- App/Js/Base/file3.js 
- App/Js/Customer1 
- App/Js/Customer1/file2.js 

は基地からfile1.jsを含む単一のJSファイルを作成され、Customer1ディレクトリとfile3.jsから基地からfile2.js再び。

これはGulpで可能ですか、それともプラグインを作成する必要がありますか?

答えて

3

gulp-filterを使用して、対応するファイルがApp/Js/Customer1/にあるファイルApp/Js/Base/を除外することができます。

var gulp = require('gulp'); 
var concat = require('gulp-concat'); 
var filter = require('gulp-filter'); 
var addsrc = require('gulp-add-src'); 
var fileExists = require('file-exists'); 
var path = require('path'); 

gulp.task('default', function() { 
    return gulp.src('App/Js/Base/*.js') 
    .pipe(filter(function(file) { 
    return !fileExists('App/Js/Customer1/' + path.basename(file.path)); 
    })) 
    .pipe(addsrc('App/Js/Customer1/*.js')) 
    .pipe(concat('all.js')) 
    .pipe(gulp.dest('dist')); 
}); 
+1

はい、それは完璧に、ありがとう! – YesMan85

+0

addsrcは廃止されました.btw。 – vinnylinux

関連する問題