function.prototype 无法与 module.exports 一起正常工作

function.prototype not working properly with 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"));