如何在使用ESM时自动重新加载Node.js中的文件?

clj7thdc  于 2023-01-12  发布在  Node.js
关注(0)|答案(2)|浏览(121)

我知道你可以在使用CommonJS的时候从缓存中清除文件,只要deleterequire.cache中取出,然后require再次取出文件。但是我在使用ESM的时候找不到一个等效的选项。这可能吗?如果可以,怎么做?

6ojccjat

6ojccjat1#

在esm问题时阅读,似乎是故意不暴露缓存。
恐怕你的问题的答案是“不”。

9avjhtql

9avjhtql2#

看起来有一个使用动态导入的解决方案:

const modules = {
  moduleA: async () => await import(`./module-a.js?v=${Date.now()}`)
}

然后像这样使用它:

async function myTest() {
    // module will be reset at each call of the function
    const moduleA = await modules.moduleA() 
}

这里有一个关于它的问题,提供了有关该技术there的更多详细信息

相关问题