js import() 如何清除缓存?我有个需求需要动态导入一些js脚本,使用import()导入默认会有缓存,会有很大影响,如何才能实现每次导入的时候清除缓存?
加时间戳的方式其实我刚开始也试了,但使用的第一种方式,这种就会报错,但是我改成方式二,就可以,真奇怪,没有大佬能解释一下这个原因?使用的是vite
一种方法是像AI回答一样的加一个时间戳,让浏览器每次都重新加载js文件
import(`./myModule.js?v=${Date.now()}`);
如果你用的是webpack构建,可以这样设置:
module.exports = { //... cache: false,};
来自:https://webpack.docschina.org/configuration/cache/
使用vite:
来自:https://cn.vitejs.dev/guide/dep-pre-bundling.html#caching
在JavaScript中,import()
函数用于动态导入模块,而浏览器通常会对这些模块进行缓存以提高性能。然而,浏览器并没有提供直接清除这些缓存的API。
如果你需要每次导入时都避免使用缓存,你可能需要采取一些策略来绕过这个问题。一种可能的方法是使用唯一的URL参数来强制浏览器重新加载模块。这可以通过在导入的URL后面添加查询参数(例如时间戳)来实现。每次导入时,改变这个查询参数的值,就可以避免浏览器使用缓存。
例如:
let timestamp = new Date().getTime();import(`./module.js?${timestamp}`).then((module) => { // 使用模块});
每次调用import()
时,timestamp
都会改变,因此URL也会改变,从而避免使用缓存。
请注意,这种方法可能会导致性能下降,因为浏览器每次都需要重新下载模块。因此,只有在确实需要避免使用缓存的情况下才应使用此方法。
另外,如果你正在使用像Webpack这样的模块打包工具,你可能需要查看其文档以了解如何清除或绕过缓存。不同的工具可能有不同的策略和方法来处理缓存问题。
我使用Drupal 7最新的开发版本。 我已经安装了清漆和过期模块并设置它们。它们工作得很好,但是我有一个关于从清漆中删除缓存的问题。 问题是如何只删除索引(主页)页面的清漆缓存,而不删除其他页面的缓存。我看了清漆日志,发现每次Drupal执行命令时,整个清漆缓存都被删除了 此命令由varnish模块或expire模块执行,它表示删除主页(索引)页的缓存。但正如我看到的,它正在删除varnish中
问题内容: 我使用nginx作为前端服务器,我修改了CSS文件,但是nginx仍在使用旧文件。 我试图重新启动nginx,但没有成功,我已经用Google搜索,但是找不到清除它的有效方法。 一些文章说我们只能删除缓存目录:,但是我的服务器上没有这样的目录。 我现在该怎么办? 问题答案: 我遇到了完全相同的问题-我在Virtualbox中运行了Nginx。我没有打开缓存。但是看起来像已经设置好了,这
问题内容: 我在项目中经常使用AlamofireImage,并且使用 从我的CDN获取图像。我已经做了一些测试,但是如果我错了,请纠正我,这似乎会将下载的图像存储到缓存中。我的测试包括下载5mb的图片。第一次大约花了20秒,第二次是瞬间。 我想知道的是如何清除特定URL /图像的缓存并重新下载图像? 例如,我更新了用户个人资料照片。图像名称/ URL会完全相同,但是我知道图像会随着用户从库或相机中
我正在尝试使用Android Studio,第一次启动它,需要45分钟来编译...如果我不退出应用程序,那也没关系--每次后续编译/运行应用程序大约需要45秒。 我试着检查了我的一些缓存:在我的主目录中有一个文件夹,它包含123 MB。 我的项目文件夹中还有文件夹...其中一个大小为200 MB。我不敢随便用核弹攻击他们两个。删除文件夹的哪些部分是安全的? 有没有更好的解释为什么我的Android
问题内容: 部署网站的新版本时,我需要清除所有APC缓存条目。APC.php有一个用于清除所有操作码缓存的按钮,但我看不到用于清除所有用户条目,所有系统条目或所有按目录条目的按钮。 是否可以通过命令行或其他方式清除所有缓存条目? 问题答案: 您可以使用PHP函数。 调用将清除系统缓存,而调用将清除用户缓存。
我正在用Ionic Cordova项目开发一台iMac电脑。我将github帐户上的一个插件克隆到自己的repo中,并将该插件安装到一个带有ionic cordova插件add的ionic应用程序中https://github.com/axelcostaspena/MobileSDK-Cordova 。现在,每次我尝试使用ionic cordova plugin add@selligent mar