TypeError:不是Node和Express JS的构造函数

时间:2019-11-15 08:03:23

标签: javascript node.js express

我在下面编写了代码,并且有一个TypeError: Server is not a constructor,但我不知道为什么以及如何解决它。

Server.js代码:

const express = require('express');

class Server {
    constructor() {
        this.app = express();

        this.app.get('/', function(req, res) {
            res.send('Hello World');
        })
    }

    start() {
        this.app.listen(8080, function() {
            console.log('MPS application is listening on port 8080 !')
        });
    }
}

app.js代码:

const Server = require('./Server');
const express = require('express');

const server = new Server();

server.start();

2 个答案:

答案 0 :(得分:5)

您没有导出Server类。在“ Server.js”文件中,执行以下操作:

export default Server {
...
}

像这样保留您的“ app.js”:

const Server = require("./Server");

以上方法仅适用于ES6及更高版本(如果未使用ES6):

class Server {
...
}

module.exports = Server;

答案 1 :(得分:2)

在导入任何位置之前,您需要export上课,

Server.js的末尾添加以下行

module.exports = Server

ES6

export default Server {
 // you implementation
}