node.js - module.exports TypeError 并且没有方法

标签 node.js

t1.js

module.exports = function(app) {
    return new obj(app);
};

var obj = function(app) {
    this.app = app;

};

obj.prototype.query = function() {


    return "ok";
};

t2.js

var a = require('./t1.js');

console.log(a.query()); 

执行 Node t2.js

报告

console.log(a.query());
                  ^
TypeError: Object function (app) {
    return new obj(app);
} has no method 'query'

欢迎您发表评论

最佳答案

问题在于 require('./t1.js') 返回您导出的函数。

解决方案如下:

var a = require('./t1.js')();
/* or...
var myApp = {};
var a = require('./t1.js')(myApp);
*/
console.log(a.query());  //now it's "ok"

关于node.js - module.exports TypeError 并且没有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145028/

相关文章:

node.js - 如何在不使用等待的情况下返回对象

node.js - NodeJS 返回未处理的 promise 拒绝错误

node.js - 在 Forever 下运行的 NodeJS 上优雅地关闭 UNIX-socket 服务器

node.js - 如何在 graphql 模式中迭代 json 嵌套数组

javascript - express-jwt 无法从路由目录访问 req.user

javascript - Node js :Cannot read property 'text' of undefined

javascript - 创建没有任何父级的树结构作为一级对象列表的输入

javascript - 如果条件直接转到 else 总是在我的情况下在 Node js

Node.JS GET/参数

android - 在最新的 Openshift 更新后,Socket.IO 客户端无法连接到 Socket.IO nodejs 服务器