先打个比方,我上一次项目打包js名字是abc.js。 然后我这次打包,把打包后的文件放到服务器,然后在我放到服务器之前,我在浏览器中打开了还没更新的网站。那么我这次版本更新上去之后,由于上一个js文件已经被删除,我浏览器打开的那个页面已经是点击不了了,因为js文件都没有了,那必须要刷新,浏览器才重新加载我的新的js文件。怎么解决这个问题。就是能不能做到不刷新也能加载新的js文件。
先打个比方,我上一次项目打包js名字是abc.js。 然后我这次打包,把打包后的文件放到服务器,然后在我放到服务器之前,我在浏览器中打开了还没更新的网站。那么我这次版本更新上去之后,由于上一个js文件已经被删除,我浏览器打开的那个页面已经是点击不了了,因为js文件都没有了,那必须要刷新,浏览器才重新加载我的新的js文件。怎么解决这个问题。就是能不能做到不刷新也能加载新的js文件。
在你发布新的资源之前,用户打开网页,加载了js等静态资源,然后你发布了,用户会点击不了??应该是不会有影响的吧,毕竟当前页面所需的静态资源都已经加载到内存了,当前页面的所有功能应该都是可以正常使用的。当用户下一次进入这个页面后,应该会加载最新的资源。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
这是一个网站更新策略问题,不能立马删除可能被用户使用到的静态资源,所以一般会给静态资源的文件名中注入hash,如果更新了网站内容运行
npm run build
之后,然后现发布静态资源,然后发布*.html
文件,随后一般等过一晚,再去清除有重复文件名的文件,清除日期较早的那一个。