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属性方面做得很好