gulp构建上的Angular 6模板缓存问题(适用于html文件)

时间:2019-01-01 13:45:39

标签: angular gulp angular-templatecache

我们存在html文件的模板缓存问题,我们希望在不删除缓存数据的情况下解决该问题(如果删除它,则会发现性能问题)。 您对此有什么建议吗?

2 个答案:

答案 0 :(得分:1)

一种解决问题的好方法是文件修订散列,这种方法的概念是:

  

只需将我们的应用程序提供的每个html / js / img文件重命名为   在文件扩展名之前连接一个随机哈希

有很多可能的方法可以做到这一点。一种好方法是这三个步骤:

步骤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   伯纳德斯

答案 1 :(得分:0)

感谢您的回答,但我们的解决方案没有什么不同。在我们公司中,我们使用weblogic服务器,并且在部署应用程序时,它一次又一次地在特定文件夹中创建所有资源(保存先前的资源)。删除不必要的资源后,该应用将开始正常运行。