如何使用module.exports从另一个文件访问object.prototype方法?

问题描述 投票:1回答:3

如果我想在另一个文件中使用对象及其方法,我将如何设置我的module.exports?

宾语:

var Object = function ()
{ 
...
}

Object.prototype.foo = function (param)
{
...
}

Module.export:

module.exports = {
    Object : Object
}

要么

module.exports = {
    Object : Object,
    foo : Object.prototype.foo
}

?

javascript node.js
3个回答
3
投票

有几种方法可以做到这一点但是如果你试图从其他文件中访问原型方法,那么你需要实例化你的构造函数,例如:

例如:

// lib.js

var YourThing = function () {
}

YourThing.prototype.someMethod = function () {
  console.log('do something cool');
}

module.exports = YourThing;

// index.js

var YT = require('./lib.js');
var yourThing = new YT();
yourThing.someMethod(); 

0
投票
module.exports = Object;

这会将您的对象导出为模块。


0
投票

要从其他文件调用其他模块中的函数,您必须要求函数所在的文件并检查正确导出的模块,然后首先创建所需文件的实例,如果_Obj包含所需文件,则新_Obj()将拥有导出模块的实例。新的_Obj()。functionName()可以访问相同的函数。

请参考以下示例:

//testNode.js
var Object1 = function ()
{ 
 console.log("fun1")
}

Object1.prototype.foo = function (param)
{
   console.log("calling other method")
}
module.exports = Object1;

//test1.js
var dir = __dirname
var path = dir + '/testNode.js'
var _Obj = require(path)

console.log(_Obj)

new _Obj().foo()
© www.soinside.com 2019 - 2024. All rights reserved.