3

システムの 2 つの領域のテンプレートを squash するために 2 つの gulp ストリームを作成し、それらを 1 つのファイルにマージするためにgulp-mergeandを使用しています。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>

どんな助けでも大歓迎です!

4

0 に答える 0