我在 git hub 仓库中看到了以下 nodeJS 代码:
var env = process.env.NODE_ENV || 'development'
, config = require('./config/config')[env]
, auth = require('./config/middlewares/authorization')
, mongoose = require('mongoose');
[env]
之前我从来没有见过方括号这是一个错误吗?
我认为 args 只能在普通括号 ( )
中传递。我在任何地方都找不到关于此的文档。
有问题的 repo 在这里 https://github.com/diki/nodejs-passport-boilerplate及其在 server.js
的第 17 行。
最佳答案
查看他们的 config.js
例如,该文件将每个环境导出为键的对象:
module.exports = {
development: {
db: 'mongodb://localhost/noobjs_dev',
root: rootPath,
// ...
},
test: {
db: 'mongodb://localhost/noobjs_test',
root: rootPath,
// ...
},
production: {}
}
方括号将仅选择与您的 NODE_ENV
变量中定义的环境相关的配置。
假设 NODE_ENV
持有值 development
,这与这样做是一样的:
var config = require('./config/config').development;
与此相同:
var config = require('./config/config')['development'];
方括号的优点在于它们允许您动态选择对象上的键。
关于javascript - Node 需要用方括号传递 arg 的模块?这是一个错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29560422/