将对象保存在模块中并从不同模块访问它

sho*_*a T 13 javascript module node.js express

我使用以下代码来解析json数据并将其保存在我的模块内部,例如当服务器(如npm server.js)时,我正在使用parse 解析json文件的函数.
最后,这些解析过的jsons保存在对象中configObj,我想在用户请求期间(通过express)在路由器模块或其他模块中获取此对象.

我该如何实现这一目标?

var configObj;
parse = function () {
        return fs.readFileAsync(file, 'utf8')
            .then(function (res) {
                return JSON.parse(res)
            }).then(function (jsonObj) {
                configObj = jsonObj;
                return jsonObj;
            })
....
        })
    };
    module.exports = {
        parse: parse,
        configObj: configObj
    }
Run Code Online (Sandbox Code Playgroud)

parse函数只调用一次,我想configObj在不同的模块中访问很多次.

mic*_*lem 6

你可以使用类似的东西node-persist:

var storage = require('node-persist');
storage.setItem('config', configObj);
console.log(storage.getItem('config'));
Run Code Online (Sandbox Code Playgroud)