手动加载node.js模块

有谁知道如何使用节点的本地“模块”模块(!)从文件手动加载模块作为替代使用正常的需求机制?

我知道这是一个奇怪的请求,但我需要模块来声明他们的variables在全局(对于该模块),并且每当需要时将其作为新模块包装,例如

var private; module.exports = { setPrivate: function (value) {private = value} } 

详细说明,如果您在相同path的不同位置调用两次请求,则会返回相同的模块。 我需要总是得到一个新的模块,以便在需要两次setPrivate时只能影响自己的variables;

基本上,我需要解决第一次调用时需要()用来创build和返回模块的机制。 玩过直接实例化模块(如在https://github.com/joyent/node/blob/master/lib/module.js#L293 ),但没有运气 – 出口属性总是一个空的对象。

请大家没有build议,只是使用构造函数…我感谢我有一个不寻常的用例。

你不需要做太复杂的事情。

相反,您可以简单地从caching中删除它 :

 delete require.cache[module.id];