每次发版用户都要清除页面缓存
- Require.js 模块缓存:Require.js 内部有一个简单的模块缓存机制。当通过 require 加载模块时,Require.js 会检查该模块是否已经缓存。如果已经缓存,Require.js 将直接返回缓存的模块,而不会再次加载。这样可以避免重复加载相同的模块,提高性能。
有时候我们禁用缓存,以便及时看到最新的修改。在这种情况下,可以通过给 Require.js 的配置对象添加一个随机的查询参数来防止缓存。例如:
require.config({
urlArgs: "bust=" + (new Date()).getTime()
});
require(["module"], function(module) {
// 模块逻辑
});
这会在每次加载模块时,给脚本的 URL 添加一个不同的时间戳参数,迫使浏览器重新下载和执行模块文件,以确保获取最新的代码。
加时间戳禁用缓存在生产环境中不建议使用,因为它会增加页面加载时间。只在开发过程中使用禁用缓存来方便调试和测试。
我们可以在生产环境中加个固定的版本号
require.config({
urlArgs: "version=1.0",
});