有没有人知道如何使用node的本机“模块”模块(!)从文件中手动加载模块,作为使用普通require机制的替代方法?
我知道这是一个奇怪的请求,但是我需要模块来全局声明它们的变量(到那个模块),并且每次需要时都会将它们包装成新模块,例如。
var private;
module.exports = {
setPrivate: function (value) {private = value}
}
详细说明,如果您在具有相同路径的不同地方呼叫需要两次,则会返回相同的模块。我需要总是得到一个新的模块,以便在两次setPrivate需要时只能影响它自己的变量;
基本上,我需要找出require()在第一次调用时用来创建和返回模块的机制。已经玩过直接实例化模块(如在https://github.com/joyent/node/blob/master/lib/module.js#L293中),但没有运气 - exports属性始终是一个空对象。
请大家不建议只使用构造函数...我很感激我有一个不寻常的用例。
答案 0 :(得分:1)