システムの 2 つの領域のテンプレートを squash するために 2 つの gulp ストリームを作成し、それらを 1 つのファイルにマージするためにgulp-merge
andを使用しています。gulp-concat
奇妙なのは、2 つのストリームの順序を切り替えると、concat()
リターンが空のストリームになる (したがって、最終ファイルがない) ことです。
さらに奇妙なことに、別の開発者マシン (両方のウィンドウ) では、逆の順序が作業順序です!!
var portalTemplates = gulp.src(input)
.pipe(templateCache('portal', { module: 'common.templates', standalone: true, root: templatePathPrefix + '/' + portalName + '/angular' }));
var sharedTemplates = gulp.src(sharedFiles.templates)
.pipe(templateCache('shared', { module: 'common.templates', root: templatePathPrefix + '/_shared/angular' }));
gulpMerge(sharedTemplates, portalTemplates)
.pipe(gulpTap(function (f) {
console.log(f.path, ' => ', f.contents.length);
}))
.pipe(concat('merged'))
.pipe(gulpTap(function (f) {
console.log(f.path, ' => ', f.contents.length);
}))
.pipe(gulp.dest(output.folder));
console.log
問題を説明するために、concat の前後にこれらの s を追加しました。
この注文で私は得る
shared => <length>
逆順 (つまりgulpMerge(portalTemplates, sharedTemplates)
)
portal => <length>
shared => <length>
merged => <length>
どんな助けでも大歓迎です!