每当我们发布使用Browserify捆绑的新版本软件时,我们发现我们需要让用户使用CTRL + F5的常规方法清除缓存或潜入浏览器设置。当有大约一千个用户时,它并不理想。我们正试图找到一种方法,我们可以解决这个问题。我对各种选择持开放态度。
我们的项目基于ReactJS,因此在浏览器中运行并通过RESTful API连接到后端服务。我们会跟踪加载的版本,这在控制台中是可见的。使用版本号,我们可以在一台用户运行最新版本的两台不同机器上进行比较,而其他用户可能没有。
代码被捆绑到两个单独的文件中,我觉得这是我们应该看的地方。
答案 0 :(得分:1)
您需要更改每个新版本的文件名。 文件的哈希值是您可以添加的适当内容。
查看md5ify,将其添加到项目构建中。
如果您自己实现此功能,请务必在index.html
文件中加载正确的文件名。
修改强>
要自动加载正确的文件,您需要在主html中添加占位符。
然后您需要一个manifest.json
文件,如下所示:
{
"main.js": "main.[HASH].js"
}
捆绑后必须自动创建。
现在,您可以通过在manifest
文件中进行查找来替换占位符和正确的资产。
您必须为此编写自己的脚本,或者使用gulp
和browserify
之类的内容。
另一个解决方案是webpack