使用しようとしていますgulp-inject
が、何かが正しく同期されていません。それは私の掃除の仕事と関係があると思います。
gulp.task("clean", function () {
return gulp.src([
"tmp/client/**/*",
"wwwroot/**/*.css",
"wwwroot/**/*.js"
], { read: false })
.pipe(plumber())
.pipe(clean());
});
これは、次のようなコンパイル タスクの前に実行されます。
gulp.task("dev:tsc", ["clean"], function () {
return tsResult.js
.pipe(sourceMaps.write("."))
.pipe(gulp.dest("wwwroot/js"));
});
次に、すべてのコンパイル手順がビルド タスクの前に実行されます。
function injectTask(assets) {
var layout = gulp.src("Views/Shared/_Layout.cshtml");
var sources = gulp.src(assets, { read: false });
return layout.pipe(inject(sources, {
ignorePath: "wwwroot",
addPrefix: "~",
addRootSlash: false
})).pipe(gulp.dest("Views/Shared"));
}
gulp.task("dev:build", ["dev:tsc", "...other tasks..."], function () {
var vendorSources = vendorConfig.map(function (vendor) {
return ["wwwroot/js", vendor.srcFile].join("/");
});
return injectTask(vendorSources.concat([
"wwwroot/css/*.css",
"wwwroot/js/*.js"
]));
});
すべてのファイルが挿入されることもあれば、一部が失われることもあります。ファイルが見つからないというエラーが表示されることがあります。ストリームへの依存関係を正しく宣言し、それらが重複しないようにするための手順が欠けていると思われますが、それが何であるかわかりません。完全な gulpfile はこちらです。何か案は?