csdn上关于此问题的解答浩如烟海,但绝大部分的解决方式都是在
routes.js
文件的末尾加上一行:
module.exports=route.
但在一种比较罕见的情况下,即使不缺少这一行语句也会报错。
我遇到的情况,其解决方案是:在
app.js
文件中,把
app.use(multer())
这句话替换成:
var upload = multer({dest:'./uploads'});
问题即可得到解决。
#受时间限制,并未对整个项目作系统介绍,大家可能不理解,但我相信此博客对真正把项目做到了末尾并实在受这个错误困扰的同志有所帮助。
#解决方案并不是本人想出来的,借鉴的是国外网友对这个问题的解决思路。
node.js报错:TypeError: app.use() requires a middleware functioncsdn上关于此问题的解答浩如烟海,但绝大部分的解决方式都是在routes.js文件的末尾加上一行:module.exports=route.但在一种比较罕见的情况下,即使不缺少这一行语句也会报错。我遇到的情况,其解决方案是:在app.js文件中,把app.use(multer())这句话替换成:var upload = multer({dest:'./uploads'}
但是当在导出路由模块和中间件时,却出现了如下
报错
根据它提示的问题路径,我找到了导致
报错
的地方,原因是在express模块文件中,存在一个语句,它标明
app
.
use
()这个设置全局中间件的方法中不能导入一个中间件文件。
改写一下挂载方式,不使用点语法,而是直接写module.exports = 函数名,这样就能让服务器正常运行了
总结:对于此问题,只是找到了解决的方法,但是
app
.
use
()这个设
C:\
Use
rs\Yang\Desktop\blog\node_modules\express\lib\
app
lication.js:210
throw new
TypeError
('
app
.
use
()
require
s a
middleware
function
')
TypeError
:
app
.
use
()
require
s a
middleware
function
at
Function
.
use
(C:\
Use
rs\Yang\Desktop\blog\node_mo
报错
内容
TypeError
: Router.
use
()
require
s a
middleware
function
but got a Object
at
Function
.
use
(E:\30\tree-api\node_modules\express\lib\router\index.js:458:13)
at
Function
.<anonymous> (E:\...