gpt4 book ai didi

javascript - 如何在 Koa/Express 的每条路线(网页)上共享全局侧边栏/页脚?

转载 作者:行者123 更新时间:2023-12-03 02:22:23 25 4
gpt4 key购买 nike

我用 Node.js 和 Koa/Express 编写了一个网站。

我的 app.js 中有这个路由:

router.use('/about/', about.routes()
router.use('/blog/', blog.routes()
router.use('/imprint/', imprint.routes())
router.use('/', index.routes())
router.use('/user/:id/', user.routes())
app.use(router.routes())

该路线的每个页面都有相同的全局侧边栏,其中包含有关最新博客的信息。现在我在每条路线上都有一个查询(侧边栏上的博客)。

query database for blogs -> save result to variable -> render page with sidebar

是否可以在每个请求上查询一次并将结果设置为全局变量并将其共享到路由?

示例:

1: User visit the website
2: Koa query the results for the the sidebar (route: /)
3. User see the sidebar on the webpage
4: User click on a blog (new page route: /blog/)
5: Koa share the result of the sidebar (Point 2)
6: User see the sidebar on the webpage

...

最佳答案

通常使用中间件来执行此操作,然后使用附加数据自定义装饰 koa 上下文(或请求):

app.user ((ctx, next) => {
query_database_for_blogs.then(res =>{
ctx.req.sidebar = res
return next()
})
})

关于javascript - 如何在 Koa/Express 的每条路线(网页)上共享全局侧边栏/页脚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49097311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com