我正在尝试使用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 在这里。有任何想法吗?