2014-11-22 26 views
-2

我学习的Node.js和源代码,我发现这一点:什么平均括号:要求(“./配置”)somevar]

config: require("./config")[env] 

,但无法理解语法这些括号内。我知道require('something')(somevar)将变量somevar传递给需求模块。但是,在上面的例子中,括号是什么意思,他们是否通过var或其他东西?

谢谢。

+0

这个问题似乎是题外话题,因为它是关于应该在语言规范或介绍性教程中查找的语言的基本语法特征。 – 2014-11-22 19:53:38

+0

先生,我看了文档,但没有找到,如果你会写它,我将不胜感激 – 2014-11-22 20:03:26

+0

require(“./ config”)返回一个对象。 env是一些string-var。您可以使用括号表示法obj [someVar]查找对象的属性。这是发生在这里的事情。 require('./ config')返回配置对象,它可能具有像('dev','prod')这样的属性。 – hereandnow78 2014-11-22 22:06:51

回答

0

config.js返回一个对象。

module.exports = { 
    "env" : "Hello World" 
}; 

Bracket notation在说明书中有明确的定义。

+0

感谢你的回应,抱歉,但我并不是不需要(“./ config”)[env]传递env变量like require(“./ config”)(env)会吗? – 2014-11-22 19:53:10

+0

这里是我找到它的链接。 https://github.com/bigohstudios/node_app/blob/master/config/application.js第10行 – 2014-11-22 19:54:16

+0

先生,我看了文档,但没有找到,如果你会写它,我会非常感激 – 2014-11-22 20:05:40

0

你必须在顶部

var env   = process.env.NODE_ENV || 'development' 

那你后来有

, config: require("./config")[env] 

这是基本相同..

, config: require("./config")[process.env.NODE_ENV || 'devel'] 

所以他们说什么是获取由NODE_ENV设置的配置,或者假设我们正在'devel'环境中运行并获取该配置。