用户模块 – 节点js

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

可以说我有一个模块:

/*---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及其不同的variables,但是当执行该函数时,它给出了味精:
TypeError:对象#没有方法'func'

我也尝试导出在A中的函数:exports.A.func = A.func

或exports.func = func既不工作..

有人有线索吗?

thanx matti

您在A中定义的function仅限于该function。 你想要的是

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

但是,如果你把A作为构造函数,那么你将会把这个函数放在A的原型中

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