存储在app.locals与全局对象之间的区别

时间:2018-08-11 08:48:34

标签: javascript node.js express

我看到有些人使用app.locals存储所有视图中可用的属性。

其他人甚至使用global.AnyNameVariable来存储任何内容,甚至需要config.js文件等。

例如:

app.locals.objOne = {
      name:'John'
}

global.objTwo = {
      name:'Doe'
}

它们之间有什么区别?目的是什么?正确使用两者的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

the documentation所述,

  

app.locals对象具有作为应用程序内局部变量的属性。

此框架提供的应用程序级容器用于存储应用程序设置等。libressl-dev是全局的,可以有多个Express应用程序。

global在中间件中可以作为req.app.locals使用,这样可以将其与特定的app.locals变量解耦。