2017-01-02 10 views
0

このタスクを簡略化するにはどうすればよいですか?複数のgulp src

あなたは先のパスとして public/views/を使用する必要がありますし、あなたのソースパスに /views一部を取り除く
const merge = require('merge-stream') 
gulp.task('templates',()=>{ 
    return merge(
     gulp.src('./src/dashboard/views/**/*').pipe(gulp.dest('public/views/dashboard')), 
     gulp.src('./src/core/views/**/*').pipe(gulp.dest('public/views/core')), 
     gulp.src('./src/auth/views/**/*').pipe(gulp.dest('public/views/auth')), 
     gulp.src('./src/templates/views/**/*').pipe(gulp.dest('public/views/templates')) 
    ) 
}) 

答えて

0

  • 公開/ビュー/ +ダッシュボード /ビュー =パブリック/ビュー/ダッシュボード
  • 公開/ビュー/ +コア /ビュー =パブリック/ビュー/コア
  • 公開/ビュー/ + AUTH /ビュー =パブリック/認証/認証
  • 公開/ビュー/ +テンプレート /ビュー =パブリック/認証/テンプレート

あなたはそれを行うためにgulp-renameを使用することができます。

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

gulp.task('templates',()=>{ 
    return gulp.src('./src/*/views/**/*') 
    .pipe(rename(function(file) { 
     file.dirname = file.dirname.replace(/\/views/, ''); 
    })) 
    .pipe(gulp.dest('public/views/')); 
}); 

gulp-regex-renameもありますそれはより短く(決してそれを使用しないので、私はそれを保証することはできません):

var rename = require('gulp-regex-rename'); 

gulp.task('default',()=>{ 
    return gulp.src('./src/*/views/**/*') 
    .pipe(rename(/\/views/, '')) 
    .pipe(gulp.dest('public/views/')); 
}); 
関連する問題