本人新手, 刚刚接触node.js和express框架, 按照网上教程配置了一下路由但是出现了一点问题, 如下:首先文件结构如下:主文件index.js代码如下:const express = require('express')
const app = express()
const indexRouter = require('./routes/index')
const userRouter = require('./routes/about')
app.use('/', indexRouter.router)
app.use('/about', userRouter.router)
app.listen(3000, () => {
console.log('App listening on port 3000!')
})routes/index.js如下:const express = require('express')
const router = express.Router()
router.get('/', (req, res) => {
res.send('home')
})module.exports = {
router: router
}routes/about.js如下:const express = require('express')
const router = express.Router()
router.get('/about', (req, res) => {
res.send('about')
})module.exports = {
router: router
}其他配置文件都是没问题的, 但是运行服务器的时候, localhost:3000/about页面一直报错, 而localhost:3000/确实正常的, 如下:自己试着解决了一下, 如果将routes/index.js和routes/about.js文件都写到index.js文件里面(不用模块导出), 那么about页面时可以正常响应的, 但是放到不同的模块里面就不行.本人刚刚接触这方面, 也不是很懂问题到底出在哪里, 希望能有前辈指导一下, 谢谢!
2 回答

繁星coding
TA贡献1797条经验 获得超4个赞
app.use('/about', userRouter.router) router.get('/about', (req, res) => {
看你的代码,about的正确路径应该是http://localhost:3000/about/about
吧

慕桂英4014372
TA贡献1871条经验 获得超13个赞
你在 about.js 里改成
router.get('/', (req, res) => { res.send('about') })
试试
- 2 回答
- 0 关注
- 249 浏览
添加回答
举报
0/150
提交
取消