每次我们发布使用Browserify捆绑的软件的新版本时,我们都会发现我们需要要求用户使用常规的CTRL+F5方法或进入浏览器设置来清除缓存。当有一千个左右的用户时,这并不理想。我们正在试图找出一种方法,或许我们可以绕过这一点。我对各种选择都持开放态度。
我们的项目是基于ReactJS的,因此可以在浏览器中运行,并通过RESTful应用程序接口连接到后端服务。我们会跟踪加载的版本,这在控制台中是可见的。使用版本号,我们可以在两台不同的机器上进行比较,一个用户正在运行最新版本,而另一个用户可能不是。
代码被捆绑到两个单独的文件中,我觉得这是我们应该查找的地方。
发布于 2017-07-17 16:37:34
您需要在每个新版本上更改文件名。文件的散列是您可以添加的适当内容。
查看md5ify将其添加到您的项目构建中。
如果您自己实现此功能,请确保还在index.html文件中加载正确的文件名。
编辑:
要自动加载正确的文件,您需要在主html中有一个占位符。
然后,您需要一个如下所示的manifest.json文件:
{
"main.js": "main.[HASH].js"
}这必须在捆绑后自动创建。现在,您可以通过在manifest文件中进行查找,将占位符替换为正确的资源。
为此,您必须编写自己的脚本,或者结合使用gulp和browserify。
另一种解决方案是webpack
https://stackoverflow.com/questions/45139192
复制相似问题