如何解决如何重新链接图书馆使用要求? nodejs
例如 我有 文件1
[{"a1":1}]
和 文件2
var obj1 = JSON.parse(fs.readFileSync("./файл 1.JSON","UTF-8"));
module.exports.obj1 = obj1
我启动 程序 ...
for(i=0; ; i++) {
console.log(require('./файл 2').a1);
let bb = JSON.parse(fs.readFileSync("./файл 1.JSON","UTF-8"));
console.log(bb.a1);
(there pause for slowed)
}
那时我纠正了 文件1 。然后,我会在 fs 中看到它,但在 require 中看不到它。 现在的问题是:如何制作,以便 require 显示新值?
解决方法
当节点执行程序并执行require
语句时,它将加载所有模块。然后,它将这些模块缓存起来,以便对同一模块的后续请求给出相同的代码。因此,在您的示例中,在循环中的第一次,文件2将使用它从JSON文件中读取的任何值进行初始化,并且不会被重新初始化。
模块旨在成为静态代码束,并且使用require
多次包含相同的模块应该返回相同的模块。对于像JSON文件这样的动态值,请使用fs
函数在需要时访问这些值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。