node.js - 声明路由时出现一般“NodeJs/express”错误(TypeError:无法读取 pathtoRegexp 处未定义的属性“长度”)
问题描述
我是新来的node.js
,这个错误让我付出了很多调查的努力,所以我分享了这个。
我只尝试express
在我的 index.js 中声明和一些基本路由器:
const express = require('express');
const app = express();
app.get('/api/courses', (req, res)=>{
res.send(courses);
});
app.get('/api/courses:id', (req, res)=>{
const course = courses.find(c => c.id === parseInt(req.params.id));
if (!course) res.send('The given id was not found...');
res.send(course);
});
app.get();
错误详情:
\node_modules\path-to-regexp\index.js:63 path = ('^' + path + (strict ? '' : path[path.length - 1] === '/' ? '?' : '/ ?')) ^
类型错误:无法在新层 (C:\Users...\node_modules) 读取 pathtoRegexp (C:\Users...\node_modules\path-to-regexp\index.js:63:49) 处未定义的属性“长度” \express\lib\router\layer.js:45:17) 在 Function.route (C:\Users...\node_modules\express\lib\router\index.js:494:15) 在 Function.app.(匿名函数) [as get] (C:\Users...\node_modules\express\lib\application.js:481:30) 在 Object. (C:...\index.js:24:5) 在 Module._compile (module.js:652:30) 在 Object.Module._extensions..js (module.js:663:10) 在 Module.load (module.js:565:32) 在 tryModuleLoad (module.js:505:12) 在 Function.Module._load (module.js:497:3)
解决方案
该错误背后的原因是使用app.get()
不带参数的方法,该方法期望端点 url 并作为参数回调。
推荐阅读
- kubernetes - 具有监视事件权限的 Kubernetes 集群角色
- android - 如何创建实时firebase子节点android问题
- shell - Touch + date 没有三重循环
- python - 升级 pip3 访问不正确的目录 macOS
- python - 使用 Python + 套接字构建数据包嗅探器
- python - discord.py 我试图从我的服务器发出一个 afk 命令,每次我运行我的机器人时都会出错
- google-apps-script - 尝试使用 Google 脚本 API 创建电子表格时权限被拒绝
- sql - 如何为每批新插入的行使用新的序列号?
- json - 数据框列scala中的火花流JSON值
- python - 如何使用 Pandas 创建散点图,其中包含列中的特定数据,而不是列中的所有数据