有没有办法使用webpack查找模块的require缓存键?

时间:2018-10-02 20:50:57

标签: node.js webpack

我正在使用require加载要在完成后从缓存中删除的大文件。没有这些,每个文件将永远保留在内存中,这是我不想要的。在本地运行delete require.cache['path/to/file']。当我运行生产版本时,该密钥不再存在。我相信这是webpack捆绑所有内容的方式,但不确定如何确认。有办法解决吗?

1 个答案:

答案 0 :(得分:0)

使用require.resolve获取模块的规范路径,npm将其用作缓存键。

const key = require.resolve('path/to/file')
delete require.cache[key]

docs for require.resolve说:

  

使用内部的require()机制查找模块的位置,而不是加载模块,只需返回已解析的文件名即可。