javascript - 单页应用程序版本控制

标签 javascript caching version versioning single-page-application

让用户感觉正在使用我的单页应用程序的最新版本的最佳方法是什么?如何确保用户不必按 ctrl+F5 即可获取最新的页面资源 (JS+CSS)

最佳答案

使用构建器编号为所有对静态文件的引用添加前缀。

您应该指向 /js/123/app.js 而不是 /js/app.js 123 是内部版本号。

在每次部署时,增加内部版本号。

然后你需要做一些重写,以便服务器在路径中有假文件夹时找到 app.js

当然,静态文件不会重新加载,直到有人关闭浏览器并再次访问该页面或按 F5)。

解决这个问题,可以用AJAX请求app.js,看看有没有被修改:

$.ajax({
    type:"GET",
    url:'/js/123/app.js',
    cache:true,
    ifModified:true,                  
    success:function(data,textStatus,jqXHR){
        console.debug(data);     // Returns undefined when response is 304 Not Modified
    }
});

关于javascript - 单页应用程序版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14353854/

相关文章:

javascript - 从 angular 8.2 升级到 angular 9 问题

javascript - 在 ng-repeat 循环中访问 i 和 i+1 元素

php - Javascript document.write 覆盖 php 页面

c - 尝试刷新缓存时出现段错误(核心转储)错误

ASP.net 缓存访问导致 foreach 循环中的 Collection Modified 异常

php - 检查 php 脚本的 php 版本兼容性

javascript - 如何在脚本中获取html标签数据?

javascript - 将 Breeze.js 与服务器端缓存一起使用

hibernate - Hibernate在Grails应用中的版本值

swift - 是否可以在旧的 Xcode 上编译最新的 Swift 版本?