用户模块 - 节点js

时间:2011-12-13 21:19:19

标签: object node.js module

我有一个关于在模块中定义对象的问题。

假设我有一个模块:

/*---obj----*/
function A (param){
this.parm=param;
function func(){
//do somthing
 }
}
exports.func=func;

/*---file.js----*/
obj=require('obj');

function fileFunc(A){
A.func();//with out this line it works fine
A.param=2;
 }
}

由于某种原因,它无法识别对象A中的函数。它识别对象A及其不同的变量,但是当执行该函数时,它给出了msg:
     TypeError:Object#没有方法'func'

我还尝试通过以下方式导出A中的函数:      exports.A.func = A.func

或      exports.func = FUNC 既不起作用..

有人有线索吗?

感谢名单 马蒂

1 个答案:

答案 0 :(得分:1)

您在A中定义的函数仅对该函数是本地的。你想要的是

function A(param) {
  this.param = param;
}

A.func = function() {
  // do something
};

但如果您将A视为构造函数,那么您将希望将该函数放入A的原型中

A.prototype.func = function() {
  // do something
};