You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express.js中app.use()中间件函数错误,无法启动Node服务

解决 TypeError: app.use() requires a middleware function 错误

从你的错误信息和代码来看,直接触发这个报错的是会话中间件的引入错误,下面是具体的排查和修复步骤:

1. 修正Session依赖的导入与安装

你代码里写的是:

const session = require('express-sessions');

但Express官方推荐的会话中间件包名是express-session(单数形式),express-sessions是一个小众第三方包,它的导出格式不符合Express对中间件的要求,这就导致你调用app.use(session(...))时传入的不是合法的中间件函数,从而抛出错误。

具体修复操作:

  • 先卸载错误的依赖包:
npm uninstall express-sessions
  • 安装正确的官方包:
npm install express-session
  • 修改代码中的导入语句:
const session = require('express-session');

2. 补充未启用的依赖配置(可选但推荐)

你代码里引入了expressValidator、flash、passport这些依赖,但没有添加对应的app.use()调用,虽然这不是当前报错的原因,但后续使用这些功能时会出现问题,建议补充以下配置:

// Express Validator 中间件
app.use(expressValidator());

// Connect Flash 中间件
app.use(flash());

// Passport 初始化
app.use(passport.initialize());
app.use(passport.session());

3. 验证修复结果

修改完成后,重新启动你的Node应用:

node app.js

如果没有其他隐藏问题,服务器应该能正常启动在3000端口。


内容的提问来源于stack exchange,提问作者Mohsin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:45:52