模块化中module.exports对于路由和中间件模块的导出挂载误区

module.exports常规的挂载方式 模块化中module.exports对于路由和中间件模块的导出挂载误区
文章图片

这样可以将js模块文件中特定的数据和方法向外导出
但是当在导出路由模块和中间件时,却出现了如下报错 模块化中module.exports对于路由和中间件模块的导出挂载误区
文章图片

根据它提示的问题路径,我找到了导致报错的地方,原因是在express模块文件中,存在一个语句,它标明app.use()这个设置全局中间件的方法中不能导入一个中间件文件。
解决办法 【模块化中module.exports对于路由和中间件模块的导出挂载误区】模块化中module.exports对于路由和中间件模块的导出挂载误区
文章图片

改写一下挂载方式,不使用点语法,而是直接写module.exports = 函数名,这样就能让服务器正常运行了
模块化中module.exports对于路由和中间件模块的导出挂载误区
文章图片

总结:对于此问题,只是找到了解决的方法,但是app.use()这个设置全局中间件的方法中不能导入一个中间件函数。这个错误提示还是让人很迷惑

    推荐阅读