「コーヒー」でいくつかのファイルを処理し、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'))
コーヒー部分の後にファイルを追加する方法はありますか?
元のsrcにファイルを追加する必要はありませんが、コーヒーを「if」のみ使用する必要があります...
そのため、gulp-if
gulp.task('task', function() {
gulp.src('./stuff/*')
.pipe(gulpif(/[.]coffee$/, coffee()))
.pipe(gulp.dest('./dist/'));
});
here gulp-ifの詳細を参照してください。
@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
を使用する必要があります
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'))
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'))