Node.js Express报错:网站显示Cannot GET / 求助
解决Express应用
Cannot GET /问题 问题原因
你当前的Express应用只配置了/user前缀的路由,但没有处理根路径/的HTTP GET请求,所以当你访问http://localhost:3000/时,服务器找不到对应的处理逻辑,就会返回Cannot GET /错误。
看你的代码:
app.use('/user', UserRouter)
这行代码只把UserRouter挂载到了/user路径下,只有以/user开头的请求才会被这个路由处理,根路径/完全没配置对应的处理函数。
两种解决方案
方案1:给根路径添加处理路由
在app.use('/user', UserRouter)后面添加根路径的GET请求处理:
// 处理根路径的GET请求 app.get('/', (req, res) => { // 可以返回字符串、HTML或者JSON,根据你的需求调整 res.send('服务器正常运行,这是首页!'); // 示例:返回JSON格式 // res.json({ status: 'ok', message: '欢迎访问我的Express应用' }) })
添加后重启服务器,访问http://localhost:3000/就能看到你设置的响应内容了。
方案2:直接访问正确的路径
如果你的需求本来就是操作用户相关接口,直接访问http://localhost:3000/user即可(前提是你的UserRouter内部配置了对应的GET路由,比如UserRouter里有类似router.get('/', (req, res) => { ... })的代码)。
新手提示
Express的核心是“路由匹配”——每个客户端发送的请求(比如GET /、POST /user)都需要有对应的路由处理函数,没匹配到任何路由的请求,服务器就会返回404错误(也就是你看到的Cannot GET [路径])。
内容的提问来源于stack exchange,提问作者PotatoManverse
相关产品推荐
相关产品推荐

