我正在使用require加载要在完成后从缓存中删除的大文件。没有这些,每个文件将永远保留在内存中,这是我不想要的。在本地运行delete require.cache['path/to/file']
。当我运行生产版本时,该密钥不再存在。我相信这是webpack捆绑所有内容的方式,但不确定如何确认。有办法解决吗?
答案 0 :(得分:0)
使用require.resolve
获取模块的规范路径,npm将其用作缓存键。
const key = require.resolve('path/to/file')
delete require.cache[key]
使用内部的require()机制查找模块的位置,而不是加载模块,只需返回已解析的文件名即可。