首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Node.js快速获取路由器中的应用程序属性

Node.js快速获取路由器中的应用程序属性
EN

Stack Overflow用户
提问于 2018-06-26 06:39:42
回答 1查看 440关注 0票数 0

有没有一种简单的方法可以从路由器的环境中访问使用app.set()设置的参数?我希望router.get可以工作,但似乎没有一个明显的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-26 06:51:07

据我所知,路由器本身没有访问app对象的权限。但是,您可以通过req.app从路由器上的任何请求处理程序获取app对象。

const express = require('express');
const app = express();
app.set("greeting", "hello");

const router = express.Router();
router.get("/", (req, res) => {
    res.send(req.app.get("greeting"));   // outputs "hello"
});

app.use(router);
app.listen(80);

它之所以这样工作,是因为路由器实际上并不知道它所属的app,并且不一定只由一个app对象使用。事实上,它甚至可以被多个单独的应用程序对象使用。相反,app知道它的路由器是谁,并且在路由到路由器时,它在准备req对象进行路由时设置req.app

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51032670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档