【问题标题】:JHipster CachingHttpHeadersFilter timeToLive settings and production releasesJHipster CachingHttpHeadersFilter timeToLive 设置和生产版本
【发布时间】:2016-12-06 09:06:21
【问题描述】:

我正在使用 JHipster 2.27.2

在进行生产发布时,我注意到由于 CachingHttpHeadersFilter 设置的 Http 标头,旧的 html 模板(即在 ui-router 状态中引用的 html 模板)一直存在。显然,用户可以手动清除浏览器缓存,但在处理大量未知用户时,这并不总是可行的。

除了通过将 timeToLiveInDays 设置为零或更改 app.js 文件中的 cachebuster 设置以包含 html 模板来完全删除 html 缓存之外,还有另一种方法可以利用 html 文件缓存,但同时确保用户的 html 文件是否保持新鲜?

【问题讨论】:

    标签: browser-cache jhipster


    【解决方案1】:

    静态资产(图像、css、..)由前端构建过程(参见gulp-rev)进行版本控制,以避免缓存过时的资产。我不认为 HTML 模板是版本化的(2.x 是相当旧的版本),但是 Angular 使用 XHR 加载它们,因此缓存破坏器应该适用于它们。

    对于其他 HTML 文件,您可能需要查看 WebConfigurer#initCachingHttpHeadersFilter() 以了解它使用哪些 URL 模式并将这些其他 HTML 文件存储在不同的文件夹下或调整模式以排除它们。

    【讨论】:

    • JHipster 3 版本的 html 模板吗?如果是这样,我可以参考旧的拉取请求吗?
    • 我不这么认为,使用 Angular 2 和 webpack 捆绑前端代码的 JHipster 4 可能会改变。但正如我在回答中所解释的那样,对于有角度的 HTML 模板,这不应该是必需的,所以你能澄清你的用例吗?您是在谈论 Angular ui-router 状态或其他类似于 index.html 的 HTML 页面引用的 HTML 模板/片段吗?
    • 嗨 Gael,我已经更新了问题以指定 html 模板,因为这些是我遇到的问题。
    • 那么缓存清除方法应该可以工作,请参阅stackoverflow.com/questions/23589843/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    相关资源
    最近更新 更多