Ale*_*ode 29 javascript versioning angularjs single-page-application
今天提出了一个问题,我没有明确的答案.
假设我们连接并缩小所有资源文件(CSS和Javascript)并在"Master-Page"中声明它们.
在多页面应用程序中,如果CSS文件发生更改,它将在下一次整页加载时重新充值.
在单页面应用程序中,用户可以继续工作数天,并且永远不会为声明CSS文件的主页面充电.在发出Ctrl-F5之前,用户永远不会看到更改.
我敢肯定有人已经想到这一点,并有经验分享:)
对我来说,使用WebSockets不是一种选择.首先是因为它太过分,因为并非所有客户都支持这项技术.同样的原因也适用于所有WebSocket后备......因此我不会继续打我的服务器.
那么,任何人的想法?:)
顺便说一句,我们正在使用AngularJS,如果它可以帮助一个特定的解决方案.
谢谢!
Cét*_*tia 29
我遇到了同样的问题.我的解决方案已被注意到,可能无法回应您的标准:
当我打包我的前端应用程序和我的服务器应用程序时,我共享一个包含当前版本的前端应用程序的配置文件.
正面:我的路线中有75%隐含地更改了Web服务(路由更改解析).因此,每次我调用我的服务器时,我都会包含一个包含前端应用程序客户端版本的自定义HTTP标头(或GET/POST参数).
服务器端:我将前端应用版本(用户浏览器中的版本,上次用户刷新/加载SPA时加载的版本)与共享配置文件的前端版本进行比较:
然后正面:我添加了一个响应拦截器拦截任何418错误代码并对整个应用程序进行强制刷新
而已.基本上,"检查"前端应用程序版本是否是最新版本的事件是路由更改(通过ajax调用WS).但你可以添加一些无限的$ interval,每隔5分钟左右调用一次专用的WS ...如果需要,我可以添加一些代码.
希望这可以帮助 ;)
| 归档时间: |
|
| 查看次数: |
8473 次 |
| 最近记录: |