导出node.js模块中的对象

我在一个单独的文件中定义了一个节点“class”,如下所示:

function Node_class(){ //code } Node_class.prototype = { function _1 : function(){ //code } }; module.exports.Node_class= Node_class; 

现在当我想在一个单独的文件中创build一个Node_class的新实例时,我做了以下操作:

 var node_object = new require('./node_class').Node_class(); node_object.function_1();//is not defined 

由于某种原因,node_object.function_1()没有在单独的文件中定义。 有人可以帮助我正确地导出这个节点“类”吗?

有几件事导致了这一点。 首先,有一个地方不应该在这里:

 function _1 : function(){ 

这可能只是一个错字,但它应该是:

 function_1 : function(){ 

其次,如果你打算在require('./node_class').Node_class上调用require('./node_class').Node_class你需要用括号括起来:

 var node_object = new (require('./node_class').Node_class)(); 

或者,也可以这样做:

 var Node_class = require('./node_class').Node_class; var node_object = new Node_class();