function.prototype与module.exports不能正常工作



我有一个包含当前函数的文件

function foo(){
/*Some members*/
}
foo.prototype.func = function(p1){
/*some logic*/
return this
}
module.exports = foo

并且在测试文件中

let x = require('First file path');
x.func(p1) /*Throws an error that it's not defined*/ 
x.prototype.func(p1)/* works normally */

/*I also tried*/
let obj = x();

我正在尝试制作一个npm包,但每次都键入原型是不现实的。如何解决这个问题?

您的foo.js应该是

function foo() {
/*Some members*/
}
foo.prototype.func = function (p1) {
/*some logic*/
console.log(p1);
}
module.exports = foo;

使用文件应为:

var foo = require('./foo');
var instance = new foo(); //<---notice here
console.log(instance.func("hello"));

最新更新