如果在SPA项目中更改了源代码或功能,则必须再次将其部署到服务器。
如果已部署服务,除非刷新,否则它将继续加载缓存的js值。我该如何解决?
说您所有的SPA代码都是两个文件:vendor.js
和app.js
。为了在更新时丢失高速缓存,通常要做的是计算内容的哈希值并将其放入文件名vendor.<truncated md5 hash>.js
和app.<truncated md5 hash>.js
中。每次构建项目时(假设您至少更改了一行),它都会得到一个新的哈希,因此也得到一个新的文件名,并且会丢失缓存。
如果使用过webpack,则在输出条目中仅指定文件名,如
output: {
filename: '[name].[contenthash].js',
path: '/'
}
这将通过在文件内容更改时为输出文件创建新的哈希来解决此问题。