NodeJS Express应用访问/users/login报Cannot GET错误如何解决
问题修复方案
- 核心错误点:app.js中挂载路由模块误用了
app.get()方法,应该替换为app.use() - 错误原因:
app.get()用于定义单个GET路由,只能精准匹配传入的路径,你写的app.get('/users', userRouter)仅会响应GET /users的请求,无法匹配/users/login这类带后缀的路径。 - 修复步骤:修改app.js中路由注册的两行代码:
替换原有代码:
app.get('/', indexRouter); app.get('/users', userRouter);
为:
app.use('/', indexRouter); app.use('/users', userRouter);
- 生效逻辑:
app.use()用于将路由模块挂载到指定路径前缀下,挂载到/users后,users.js内定义的/login路由会自动拼接前缀,最终可访问路径就是/users/login,即可正常返回对应内容。
内容的提问来源于stack exchange,提问作者Ace
相关产品推荐
相关产品推荐

