Express新手求助:遭遇TypeError: app.get is not a function错误
解决「TypeError: app.get is not a function」错误
这个错误本质是express()没有返回正确的Express应用实例,常见原因和解决方法如下:
1. 确认安装的是官方Express包
检查项目根目录下的package.json,查看dependencies里是否是"express"而非其他同名包(比如express-generator或第三方仿冒包)。
如果不对,执行以下命令修复:
# 卸载错误包(如果有) npm uninstall 错误包名 # 重新安装官方Express npm install express
2. 避免本地文件与Express重名
确保你的项目中不存在名为express.js、express.json或express的文件夹,否则require("express")会优先加载本地文件/文件夹,而非node_modules里的官方模块。
3. 验证Express模块的正确性
在代码开头添加一行调试代码,确认加载的是正确的Express模块:
const express = require("express"); console.log(typeof express); // 正常应该输出 "function" const app = express(); // ... 其余代码
如果输出不是function,说明模块加载异常,按照前两步排查即可。
4. 检查Node.js版本
Express 4.x及以上版本要求Node.js版本不低于14.17.0,若你的Node版本过旧,升级Node.js后重新安装Express即可。
内容的提问来源于stack exchange,提问作者Amy
相关产品推荐
相关产品推荐

