在node.js模块中导出对象

时间:2014-08-04 00:02:58

标签: node.js

我有一个节点' class'在单独的文件中定义如下:

function Node_class(){
 //code
}

Node_class.prototype = {

    function _1 : function(){
      //code
    }

};

module.exports.Node_class= Node_class;

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

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

node_object.function_1()由于某种原因未在单独的文件中定义。有人可以帮我导出这个节点' class'正常吗?

1 个答案:

答案 0 :(得分:1)

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

function _1 : function(){

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

function_1 : function(){

其次,如果你打算在new上调用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();