Javascript 在Node.js中,如果多次请求,所需模块是否会多次加载?

Javascript 在Node.js中,如果多次请求,所需模块是否会多次加载?,javascript,json,node.js,Javascript,Json,Node.js,我正在构建的应用程序依赖于几个.json配置文件。因为我需要相同的配置数据在应用程序的模块间保持不变,所以我创建了一个单独的config.js模块,在其中解析.json文件并导出单个对象: var fs = require("fs"); module.exports = { a: JSON.parse(fs.readFileSync("./config/a.json")), b: JSON.parse(fs.readFileSync("./config/b.json")),

我正在构建的应用程序依赖于几个
.json
配置文件。因为我需要相同的配置数据在应用程序的模块间保持不变,所以我创建了一个单独的
config.js
模块,在其中解析
.json
文件并导出单个对象:

var fs = require("fs");
module.exports = {
    a: JSON.parse(fs.readFileSync("./config/a.json")),
    b: JSON.parse(fs.readFileSync("./config/b.json")),
    c: JSON.parse(fs.readFileSync("./config/c.json"))
};

考虑到其他多个模块中的I
require
config.js模块,每次需要配置模块时,json文件的解析都会运行吗?或者Node是否足够聪明,可以只在第一次运行
JSON.parse()
函数,然后使用缓存的结果?

Node将在第一次加载模块时缓存模块,因此代码只运行一次


这里还有一些其他有趣的信息,比如为了配置,您可以
require()
JSON文件。这比使用
fs

要简单一些。节点将在模块第一次加载时缓存模块,因此代码只运行一次


这里还有一些其他有趣的信息,比如为了配置,您可以
require()
JSON文件。这比使用
fs

要容易一些。一旦需要,模块被缓存,我必须在我的一个应用程序上对其进行解缓存。一旦需要,模块被缓存,我必须在我的一个应用程序上对其进行解缓存。