Express - 将数据传递到所有路线
您好,是否有一种“快速”特定方式可以使一些全球应用程序数据可用于我的所有路线? 或者只是使用 module.exports 语句的情况?
欢迎任何指点。 节点菜鸟 - 顺便说一句
Hi is there a 'express' specific way to make some global app data available to all my routes?
Or is it a case of just using an module.exports statement?
Any pointers more than welcome.
Node noob - btw
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以设置一个在布局中也可用的全局对象
app.js
layout.jade
You can set a global object that is also available in your layout
app.js
layout.jade
您可以在应用的设置部分使用
app.set()
使其可用于每个请求。该应用程序对象可通过路由中的req.app
获得。就个人而言,我喜欢在设置和通过
req.app.settings.name
访问它的路由中执行app.set('name', obj);
。You can use
app.set()
in the setup portion of your app to make it available to each request. The app object is available viareq.app
in your routes.Personally, I like to do an
app.set('name', obj);
in the setup and in the routes I access it viareq.app.settings.name
.您还可以使用动态助手将数据传递到所有视图。
app.js
现在,在您的视图上,您可以像这样使用它(我在这个示例中使用了 ejs,但它应该与 jade 或任何其他视图引擎一起使用):
view.ejs
希望这有帮助。
You could also use a dynamic helper to pass data to all views.
app.js
Now on your views you can use it like this (I used ejs on this example but it should work with jade or any other view engine):
view.ejs
Hope this helps.