您的问题的一个很好的解决方案称为文件修订或散列,这种方法的概念是:
只需重命名我们的应用提供的每个 html/js/img 文件
在文件扩展名之前连接一个随机哈希
有很多可能的方法来做到这一点。一个好方法是这 3 个步骤:
第 1 步。创建 revision:rename gulp 任务
gulp.task(“revision:rename”, [“compile”], () =>
gulp.src(["dist/**/*.html",
"dist/**/*.css",
"dist/**/*.js",
"dist/**/*.{jpg,png,jpeg,gif,svg}"])
.pipe(rev())
.pipe(revdel())
.pipe(gulp.dest(“dist”))
.pipe(rev.manifest({ path: “manifest.json” }))
.pipe(gulp.dest(“dist”))
);
第 2 步。创建 revision:updateReferences gulp 任务
gulp.task(“revision:updateReferences”, [“compile”, “revision:rename”], () =>
gulp.src([“dist/manifest.json”,”dist/**/*.{html,json,css,js}”])
.pipe(collect())
.pipe(gulp.dest(“dist”))
);
第 3 步。创建 compile:production gulp 任务
gulp.task(“compile:production”, [“compile”, “revision:rename”, “revision:updateReferences”]);
这 3 步解决方案取自:
medium.com - Solving Browser Cache Hell With Gulp-Rev - 由 Felipe
伯纳德斯