gpt4 book ai didi

node.js - Nodejs中删除缓存是什么意思

转载 作者:搜寻专家 更新时间:2023-11-01 00:45:44 24 4
gpt4 key购买 nike

请在下面找到 nodejs 中的示例代码:

var hello_file = require.resolve('hello')

var hello = require('hello')
console.log(m.hello()); // there is a method hello in module hello.js

delete require.cache[hello_file]
console.log(m.hello()); // it still works

我认为删除会删除对模块的引用,因此最后一行应该会引发错误。但事实并非如此。可能是什么原因以及删除缓存的真正含义是什么?

最佳答案

缓存不再知道它了,但是你的 var hello 仍然有一个对之前加载的内容的引用。

下次您调用 require('hello') 时,它将从文件加载模块。但是,在您更新 var hello 持有的引用之前,它将继续指向最初加载的模块。

关于node.js - Nodejs中删除缓存是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18524651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com