我正在使用Node.js,Express.js和MongoDB製作應用程序。 我正在使用MVC模式,並且還有單獨的路由文件。 我想我做一個控制器類,其中一個方法調用其中聲明的另一個方法。但我似乎無法做到這一點。我得到「無法讀取未定義的屬性」。無法在Node.js的ES6中定義的類中調用方法
index.js文件
let express = require('express');
let app = express();
let productController = require('../controllers/ProductController');
app.post('/product', productController.create);
http.createServer(app).listen('3000');
ProductController.js文件
class ProductController {
constructor(){}
create(){
console.log('Checking if the following logs:');
this.callme();
}
callme(){
console.log('yes');
}
}
module.exports = new ProductController();
當我運行此我得到以下錯誤消息:
Cannot read property 'callme' of undefined
我已經跑了自身的代碼幾乎沒有修改如下,它的工作原理。
class ProductController {
constructor(){}
create(){
console.log('Checking if the following logs:');
this.callme();
}
callme(){
console.log('yes');
}
}
let product = new ProductController();
product.create();
爲什麼一個人工作,而不是其他人? 幫助!
你應該[從未出口類實例](http://stackoverflow.com/a/39079929/1048572)。要麼導出類本身,要麼僅使用對象。 – Bergi