声明:我正在开发一个应用程序,该应用程序以新组件(html、js 和 css 文件)的形式进行了大量更新。我遇到的问题是 js 文件需要清除缓存或刷新一些浏览器页面才能按预期使用新文件,所以我们考虑的修复是通过 gulp 对 js 和 css 文件进行版本控制,因为我们已经用它。
问题:尝试使用 gulp-inject 作为系列在 html 中注入文件并添加后缀不起作用。文件已注入,但未附加后缀。
代码:
gulp.task("inject", function () {
var timestamp = new Date().getTime();
var css_vendor = gulp.src([path.dirs.dist + "/vendor/**/*.css", path.dirs.dist + "/vendor.css"], {read: false});
var css_other = gulp.src([path.dirs.dist + "/**/*.css", "!" + path.dirs.dist + "/vendor/**/*.css", "!" + path.dirs.dist + "/vendor.css", "!" + path.dirs.dist + "/main*.css", "!" + path.dirs.dist + "/components*.css"], {read: false});
var css_main = gulp.src([path.dirs.dist + "/main*.css"], {read: false});
var css_components = gulp.src([path.dirs.dist + "/components*.css"], {read: false});
var js_vendor = gulp.src([path.dirs.dist + "/**/vendor*.js", "!" + path.dirs.dist + "/**/FileAPI*"], {read: false});
var js = gulp.src([path.dirs.dist + "/**/cex*.js", "!" + path.dirs.dist + "/**/FileAPI*"], {read: false});
return gulp.src([path.dirs.dist + "/index.html"])
.pipe(inject(series(css_vendor, css_other, css_main, css_components, js_vendor, js), {relative: true}, {
addSuffix: timestamp
}))
.pipe(gulp.dest(path.dirs.dist));
});