我有一个Vue应用程序A,到目前为止,它只是一个用webpack构建的单个文件包。该应用程序正在使用其自己的API,并且捆绑包本身可以通过该API作为静态文件进行访问。
该捆绑包在完全不同的应用程序B(旧的ASP.NET WebForms)中使用和运行。在该应用程序中,我知道应该从中请求捆绑软件的URL(跨域)。
此捆绑包很大(> 2mb,大多数代码是第三方的)并已缓存,这意味着一旦我更新了应用程序A,所做的更改就不会立即加载到浏览器中。我想以某种方式实现缓存清除。
考虑到我的情况和局限性,最好的方法是什么?
自己的主意:
配置(以某种方式)webpack,以便浏览器仅请求主捆绑包(带有自定义代码),然后该捆绑包从单独的文件加载供应商脚本。主捆绑包将不会被缓存(可能很小),而卖方捆绑包的文件名中将具有一些哈希值,并且将被浏览器缓存。
在应用A的API上实现/ version端点,在加载B的WebForms页面之前调用该端点,并请求具有最新版本的捆绑文件。