NodeJS如何在多用户环境中处理基元和对象?

我在客户端使用Javascript。 所以如果我有这个:

var myNumber = 10; 

客户端的浏览器容易理解这个variables。

然而,在nodeJS中,代码为多个用户运行,我对这个工作原理的理解并不完整。 例如,在这个简化的代码中:

 var parser = require('./parser'); api.on('message', function (messageJson) { var myNumber = 10; parser.parse(messageJson); }); 

据我了解,“myNumber”variables仍然是每个调用,因为它在每个执行单独运行的“api.on”方法的范围内。 但是,“parsing器”对象呢? 是所有进程可用的相同实例吗?

当我像这样运行时是否有区别:

 api.on('message', function (messageJson) { var parser = require('./parser'); var myNumber = 10; parser.parse(messageJson); }); 

如果我像这样运行,并且有区别,我现在可以在“parsing器”模块的范围内使用“全局”variables,这对每次执行都会有所不同吗?

每次运行require都有什么不同吗? 现在我可以在“parsing器”模块的范围内使用“全局”variables吗?

不,没有区别。 Node不会caching模块,无论你require('parser')多less次require('parser')你总是会得到相同的对象(当然,除非你混淆了模块caching)。