node.js - 如何修复 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);
,但不幸的是,我不知道如何使用它。最后一行可能有问题,我可能只是以错误的方式使用它。
解决方案
有两种方法可以在 express 中定义您的路线。一种是使用 express应用实例,另一种是使用 express router。而你正在将它们混合在一起。
您定义路线的方式是正确的。从您的代码中删除const routes = require('./routes/routes');
&& module.exports = router;
,它将正常工作。
或者,如果您想使用路由器将路由保存在单独的文件中,请查看此。
希望这可以帮助 :)
推荐阅读
- javascript - 为什么密码填充在 url 上?
- python - NLP,使用 NLTK 的情感分析和使用 ML 方法的区别
- r - 使用 R 中的 Formattable 包按行排列条件
- moshi - 枚举解析失败,moshi 和 R8
- python - subprocess.check_output 在脚本 python 上太慢,但在交互式 python shell 中不是
- javascript - 为什么我的 socket.io 事件监听器在一个 UI 组件上正常工作,但在 React 中的另一个上却不能工作?
- java - 如何停止主线程以完成所有 Mono 调用?
- python - 为什么我无法创建 pandas 列。TypeError:“NoneType”对象不可迭代
- r - R中一个图中的几个模型回归
- python - 线程池和动态变化的工人数量