【问题标题】:How to fix ReferenceError: router is not defined mistake?如何修复 ReferenceError: router is not defined 错误?
【发布时间】:2019-08-27 20:52:40
【问题描述】:
// 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); 放在哪里,但不幸的是,我不知道如何使用它。最后一行可能有问题,我可能只是用错了。

【问题讨论】:

  • 你永远不会定义router。我不确定你期望它是什么。
  • 怎么用,应该放在哪里?
  • 我认为这是您的根索引文件。您不必从这里导出任何内容,除非您将在其他文件中需要此文件。您可以删除 module.exports = router 线,然后它将起作用。
  • 有效!非常感谢!我真的很感激。

标签: node.js routes


【解决方案1】:

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

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

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

希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-05
    • 2019-09-19
    • 2019-06-22
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    相关资源
    最近更新 更多