使用Node.js导出模块时出错

时间:2013-10-24 10:03:57

标签: javascript node.js module export

我在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文档和一些关于导出模块的教程,所有这些都是这样做的。我忽略了什么吗?

1 个答案:

答案 0 :(得分:3)

更多关注错误

TypeError: Cannot set property 'DeviceRequester' of undefined

在第var module=require("module");行,您将覆盖默认的module变量。

简单地尝试改变更有意义的事情,例如

var MyModule=require(..path..)