如何删除deno中的rumtime导入缓存?

问题描述 投票:1回答:2

在node.js中,我们可以使用

delete require.cache[require.resolve(somePath)];

要在运行时删除需求缓存。

是否有类似的方法可以删除deno中的rumtime导入缓存?

node.js deno
2个回答
0
投票

-r--reload选项将重新编译导入的模块。

-r, --reload=<CACHE_BLACKLIST>     Reload source code cache (recompile TypeScript)

https://deno.land/manual#other-key-behaviors

其他关键行为

  • 首次执行时将获取并缓存远程代码,只有在使用--reload标志运行代码后,才会更新。 (因此,这将仍然可以在飞机上工作。)
  • 从远程URL加载的模块/文件的目的是不可变和可缓存的。

您可以传递参数以重新加载特定的模块:

--reload=https://deno.land/std

https://deno.land/manual/linking_to_external_code/reloading_modules


0
投票

Deno自19年8月以来就支持动态导入,我认为您可以执行的操作类似于

let neededModule = getNeededModule();
import neededModule;
...
neededModule  = getAnotherModule(); //Replace in runtime
import neededModule
...
//Or even delete in runtime (with some help from the garbage collector)
neededModule = null; 
© www.soinside.com 2019 - 2024. All rights reserved.