[英]creating a global object in nodejs accessible by .js modules
我的nodejs项目需要不同的.js模块可访问的内存表。 某些模块将更新表,但所有模块之间的数据必须相同(某种程度上是内存数据库)。 因此,我需要一个真正的全局对象……而不是每个模块全局对象。 创建一个包含所有对象的common.js文件,然后在所有模块中都不需要它,因为数据对于相应模块而言是全局/本地的。 我已经看到了对nodejs全局的引用,其中global.myobject对于所有模块都是全局的,但是文档尚不清楚是否如此。 我看到的最后一次讨论是在2014年。有人能向我介绍当前的情况吗? 这个问题如何解决?
在node.js ..
如果您有一个名为common.js的模块,则如下所示。
'use strict';
var obj = {};
module.exports = obj;
然后在另一个模块中执行此操作
'use strict';
var c = require('./common');
c.test = 1234;
然后,稍后另一个模块执行此操作。
'use strict';
var c = require('./common');
console.log(c);
//output = { test: 1234 }
modejs中的模块只是另一个对象。 nodejs,缓存所有需求,因此将始终返回相同的对象。
Windows用户的一个陷阱,Windows文件名不区分大小写,因此,如果您确实需要require('Common'),然后又需要require('common'); 您将拥有同一模块的2个版本。 这是将所有模块名称保持小写的一个很好的理由。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.