web-dev-qa-db-ja.com

パイプの途中でsrcファイルを追加する方法

「コーヒー」でいくつかのファイルを処理し、jsファイルを追加し、連結および縮小します。

これは機能せず、通常のjsファイルでコーヒーが失敗します。

gulp.task 'build-js', ->
  gulp.src([
      "bower_components/mbdev-core/dist/js/db.js"
      "bower_components/mbdev-core/dist/js/utils.js"
      "src/js/config/app.coffee"
      "src/js/config/app-db.coffee"              
      "src/js/accounts/accounts.coffee"
      "src/js/budget_items/budget_items.coffee"
      "src/js/line_items/line_items.coffee"
      "src/js/misc/misc.coffee"
      "src/js/reports/report_generators.coffee"
      "src/js/reports/reports.coffee"
   ])
  .pipe(coffee()).on('error', gutil.log)
  .pipe(concat('app.js'))
  .pipe(gulp.dest('public/js'))

コーヒー部分の後にファイルを追加する方法はありますか?

35
mbdev

元のsrcにファイルを追加する必要はありませんが、コーヒーを「if」のみ使用する必要があります...

そのため、gulp-if

gulp.task('task', function() {
  gulp.src('./stuff/*')
    .pipe(gulpif(/[.]coffee$/, coffee()))
    .pipe(gulp.dest('./dist/'));
});

here gulp-ifの詳細を参照してください。

54
Mangled Deutz

@Contraの答えは私にはうまくいきません。古いストリームは新しいストリームに置き換えられ、結合されませんでした。

次の方法でストリームを結合する必要があります。

es = require("event-stream")

es.concat(
  gulp.src('*.coffee')
  .pipe(coffee()),
  gulp.src('*.js')
).pipe(concat('all.js'))
.pipe(gulp.dest('.'))

そして、あなたはこれに関する公式ガイドをここで見ることができます 1つのタスクで複数のソースを使用する

ストリーム内の順序を気にする場合は、event-streamの代わりにstreamqueueを使用する必要があります

17
hyspace

gulp-add-src プラグインを使用できます:

addsrc = require 'gulp-add-src'

gulp.task 'build-js', ->
  gulp.src(['src/coffee/*.coffee'])
    .pipe(coffee()).on('error', gutil.log)
    .pipe(addsrc(['src/js/somefile.js', 'src/js/otherfile.js']))
    .pipe(concat('app.js'))
    .pipe(gulp.dest('public/js'))
14
urish

gulp.srcストリームはパススルーなので、パイプラインの任意のポイントで追加できます

gulp.task 'build-js', ->
  gulp.src([
      "src/js/config/app.coffee"
      "src/js/config/app-db.coffee"              
      "src/js/accounts/accounts.coffee"
      "src/js/budget_items/budget_items.coffee"
      "src/js/line_items/line_items.coffee"
      "src/js/misc/misc.coffee"
      "src/js/reports/report_generators.coffee"
      "src/js/reports/reports.coffee"
  ])
  .pipe(coffee()).on('error', gutil.log)
  .pipe(gulp.src([
      "bower_components/mbdev-core/dist/js/db.js"
      "bower_components/mbdev-core/dist/js/utils.js"
  ]))
  .pipe(concat('app.js'))
  .pipe(gulp.dest('public/js'))
11
Contra