导出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();