Ale*_*ton 16 single-page-application durandal
对Durandal js和html文件进行版本控制的好策略是什么?
我注意到,在开发过程中,必须禁用浏览器缓存,以便在每次刷新时接收最新文件.这是开发过程中必须的.
但是,我担心的是,当我使用我的持续部署策略(每天多次部署)进行生产时,用户的浏览器将缓存我的应用程序的旧版本,这可能会导致不可预测的行为.
想到的方法是以某种方式对js和html url进行版本化,以便在每个请求中嵌入版本号.但我不确定如何在Durandal框架内部进行这项工作.
Ale*_*ton 27
好的,这是我前进的方向.基本上有一些内置于requirejs来处理这个问题.
在我的main.js的顶部,在对requirejs.config的调用中,我可以设置一个urlArgs属性,该属性将附加到requirejs对模块的每个调用.
requirejs.config({
paths: {
'text': 'durandal/amd/text'
},
urlArgs: 'v=1.0.0.0'
});
Run Code Online (Sandbox Code Playgroud)
当我想强制生产用户获得requirejs模块的新版本时,我只能增加版本号,这将使浏览器缓存无效.
(在我的项目中,我有一种方法可以将包含我的主要ASP.NET MVC程序集的程序集的版本号注入此属性,但是这样的代码会分散上述示例的简单性).
希望这有助于某人!