Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 存储在app.locals和全局对象之间的区别_Javascript_Node.js_Express - Fatal编程技术网

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

Javascript 存储在app.locals和全局对象之间的区别,javascript,node.js,express,Javascript,Node.js,Express,我看到一些人使用app.locals来存储在所有视图中都可用的属性 还有一些人使用global.anynamevaluate来存储任何东西,甚至需要config.js文件等等 ex: app.locals.objOne = { name:'John' } global.objTwo = { name:'Doe' } 他们之间有什么区别?目的是什么?使用这两种语言的正确方法是什么?作为状态 app.locals对象的属性是应用程序中的局部变量 这是框架提供的应用程序级容

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

还有一些人使用
global.anynamevaluate
来存储任何东西,甚至需要
config.js
文件等等

ex:

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

global.objTwo = {
      name:'Doe'
}
他们之间有什么区别?目的是什么?使用这两种语言的正确方法是什么?

作为状态

app.locals对象的属性是应用程序中的局部变量

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


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

您阅读了上面的文档吗?你读过in节点吗?是的,我两个都读过,但是当谈到globals时,我从文档中了解的不多,它说每个模块的对象都是全局的,但当我测试它时,我发现我可以在任何文件中访问它的属性。我问这个问题的原因是因为你对问题的措辞方式大多数答案可能只是重复文档所说的-那么真正的问题是什么?这真的是为什么您可以跨模块访问
global.objTwo
?我认为express文档在解释app.locals属性方面做得很好