express 路由问题

发布于 2022-09-07 16:35:41 字数 1570 浏览 44 评论 0

本人新手, 刚刚接触node.jsexpress框架, 按照网上教程配置了一下路由但是出现了一点问题, 如下:

首先文件结构如下:

clipboard.png

主文件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/确实正常的, 如下:

clipboard.png

clipboard.png

自己试着解决了一下, 如果将routes/index.jsroutes/about.js文件都写到index.js文件里面(不用模块导出), 那么about页面时可以正常响应的, 但是放到不同的模块里面就不行.

本人刚刚接触这方面, 也不是很懂问题到底出在哪里, 希望能有前辈指导一下, 谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅忆 2022-09-14 16:35:41

你在 about.js 里改成

router.get('/', (req, res) => {
    res.send('about')
})

试试

内心荒芜 2022-09-14 16:35:41
app.use('/about', userRouter.router)

router.get('/about', (req, res) => {

看你的代码,about的正确路径应该是http://localhost:3000/about/about

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文