Angular gulp build 上的 6 模板缓存问题(对于 html 文件)
Angular 6 template cache problem (for html files) on gulp build
我们有 html 个文件的模板缓存问题,我们想在不删除缓存数据的情况下解决它(如果我们删除它,我们会看到性能问题)。
您对此有什么建议吗?
您的问题的一个很好的解决方案称为 file revision 或 Hashing,这种方法的概念是:
simply rename every html/js/img file served by our app by
concatenating a random-hash before the file extension
有很多方法可以做到这一点。一个好方法是这 3 个步骤:
步骤 1. 创建 revision:rename gulp task
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 task
gulp.task(“compile:production”, [“compile”, “revision:rename”, “revision:updateReferences”]);
这 3 个步骤的解决方案取自:
medium.com - Solving Browser Cache Hell With Gulp-Rev - By Felipe
Bernardes
感谢您的回答,但我们的解决方案略有不同。在我们公司,我们使用 weblogic 服务器,当我们部署应用程序时,它会一次又一次地在特定文件夹中创建所有资源(它保存以前的资源)。删除不需要的资源后,应用程序开始正常运行。
我们有 html 个文件的模板缓存问题,我们想在不删除缓存数据的情况下解决它(如果我们删除它,我们会看到性能问题)。 您对此有什么建议吗?
您的问题的一个很好的解决方案称为 file revision 或 Hashing,这种方法的概念是:
simply rename every html/js/img file served by our app by concatenating a random-hash before the file extension
有很多方法可以做到这一点。一个好方法是这 3 个步骤:
步骤 1. 创建 revision:rename gulp task
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 task
gulp.task(“compile:production”, [“compile”, “revision:rename”, “revision:updateReferences”]);
这 3 个步骤的解决方案取自:
medium.com - Solving Browser Cache Hell With Gulp-Rev - By Felipe Bernardes
感谢您的回答,但我们的解决方案略有不同。在我们公司,我们使用 weblogic 服务器,当我们部署应用程序时,它会一次又一次地在特定文件夹中创建所有资源(它保存以前的资源)。删除不需要的资源后,应用程序开始正常运行。