JavaScript模块加载工具:RequireJS与Browserify详解
1. RequireJS的缓存清除
1.1 缓存机制与问题
应用服务器常缓存脚本文件、图像、样式表等资源,以避免不必要的磁盘访问。缓存资源通常存储在内存中,并与某个键(通常是资源的URL)关联。在指定的缓存期内,对同一URL的多次请求会直接从内存中获取资源,这在生产环境中能显著提升性能。但在开发或测试环境中,每次代码更改或引入新资源时都要使缓存失效,这会变得很繁琐。
1.2 缓存清除方法
RequireJS提供了缓存清除功能,通过在每个资源请求的URL中添加一个可变的查询字符串参数,使资源的“键”始终不同,从而确保资源不会从缓存中获取。具体做法是在配置脚本中添加 urlArgs 属性,示例代码如下:
// example-009/public/scripts/main.js
requirejs.config({
baseUrl: '/scripts',
urlArgs: 'bust=' + (new Date().getTime()),
paths: {
// ...
},
shim: {
// ...
}
});
上述代码中, urlArgs 属性会在所有RequireJS生成的请求中添加查询字符串参数 bust={timestamp} ,每次页面加载时时间戳会重新计算,确保参数值改变,使URL唯一。
超级会员免费看
订阅专栏 解锁全文
3139

被折叠的 条评论
为什么被折叠?



