首页 > 解决方案 > 如何修复 ReferenceError: router is not defined 错误?

问题描述

// Require packages and set the port
const express = require('express');
const port = 3002;
const app = express();

const bodyParser = require('body-parser');

const routes = require('./routes/routes');

// Use Node.js body parsing middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true,
}));

app.get('/', (request, response) => {
    console.log(`URL: ${request.url}`);
    response.send({
        message: 'Grades'}
        );
});

// Start the server
const server = app.listen(port, (error) => {
    if (error) return console.log(`Error: ${error}`);

    console.log(`Server listening on port ${server.address().port}`);
});

// Export the router
module.exports = router;

我正在设置一条新路线,但遇到了一些代码问题。这是我在这里的第一篇文章,我从编程开始,所以如果你能表现出一些理解那就太好了。:) 我想这个错误与 app.get 一致,我也必须把它放在哪里routes(app);,但不幸的是,我不知道如何使用它。最后一行可能有问题,我可能只是以错误的方式使用它。

标签: node.jsroutes

解决方案


有两种方法可以在 express 中定义您的路线。一种是使用 express应用实例,另一种是使用 express router。而你正在将它们混合在一起。

您定义路线的方式是正确的。从您的代码中删除const routes = require('./routes/routes');&& module.exports = router;,它将正常工作。

或者,如果您想使用路由器将路由保存在单独的文件中,请查看

希望这可以帮助 :)


推荐阅读