我在Node.js中导出模块时遇到问题。 这是我的代码的一部分:
var zmq = require('zmq');
var module = require('module');
var DeviceRequester = function(port, name)
{
...
};
var SMValueGetter = function(socket)
{
...
};
module.exports.DeviceRequester = DeviceRequester;
module.exports.SMValueGetter = SMValueGetter;
当我使用它时,我收到以下错误:
module.exports.DeviceRequester = DeviceRequester;
^
TypeError: Cannot set property 'DeviceRequester' of undefined
at Object.<anonymous> (<PROJECT_PATH>/node_modules/lse/lib/lse.js:168:32)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (<PROJECT_PATH>/server.js:6:13)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
我不知道为什么会这样。我已经重新编写了Node.js文档和一些关于导出模块的教程,所有这些都是这样做的。我忽略了什么吗?
答案 0 :(得分:3)
更多关注错误
TypeError: Cannot set property 'DeviceRequester' of undefined
在第var module=require("module");
行,您将覆盖默认的module
变量。
简单地尝试改变更有意义的事情,例如
var MyModule=require(..path..)