config 中文文档教程
Configure your Node.js Applications
Introduction
Node-config 为您的应用程序部署组织分层配置。
它允许您定义一组默认参数, 并针对不同的部署环境(开发、质量保证、 演出、制作等)。
配置存储在应用程序的配置文件中,并且可以通过环境变量, 命令行参数,或者外部资源。
这为您的应用程序提供了一个在 不断增长的 npm 模块列表 也使用节点配置。
Project Guidelines
- Simple - Get started fast
- Powerful - For multi-node enterprise deployment
- Flexible - Supporting multiple config file formats
- Lightweight - Small file and memory footprint
- Predictable - Well tested foundation for module and app developers
Quick Start
以下示例是 JSON 格式,但配置可以是其他文件格式 .
在您的应用程序目录中安装,并编辑默认配置文件。
$ npm install config
$ mkdir config
$ vi config/default.json
{
// Customer module configs
"Customer": {
"dbConfig": {
"host": "localhost",
"port": 5984,
"dbName": "customers"
},
"credit": {
"initialLimit": 100,
// Set low for development
"initialDays": 1
}
}
}
为生产部署编辑配置覆盖:
$ vi config/production.json
{
"Customer": {
"dbConfig": {
"host": "prod-db-server"
},
"credit": {
"initialDays": 30
}
}
}
在您的代码中使用配置:
const config = require('config');
//...
const dbConfig = config.get('Customer.dbConfig');
db.connect(dbConfig, ...);
if (config.has('optionalFeature.detail')) {
const detail = config.get('optionalFeature.detail');
//...
}
config.get()
将为未定义的键抛出异常,以帮助捕获拼写错误和缺失值。
使用 config.has()
测试是否定义了配置值。
启动您的应用服务器:
$ export NODE_ENV=production
$ node my-app.js
在此配置中运行,dbConfig
的port
和dbName
元素
将来自 default.json
文件,host
元素将
来自 production.json
覆盖文件。
Articles
- Configuration Files
- Special features for JavaScript configuration files
- Common Usage
- Environment Variables
- Reserved Words
- Command Line Overrides
- Multiple Node Instances
- Sub-Module Configuration
- Configuring from a DB / External Source
- Securing Production Config Files
- External Configuration Management Tools
- Examining Configuration Sources
- Using Config Utilities
- Upgrading from Config 0.x
- Webpack usage
Further Information
如果你仍然没有看到你要找的东西,这里有一些更多的资源可以检查:
- The wiki may have more pages which are not directly linked from here.
- Review questions tagged with node-config on StackExchange. These are monitored by
node-config
contributors. - Search the issue tracker. Hundreds of issues have already been discussed and resolved there.
Contributors
License
可以在 麻省理工学院许可证。
版权所有 (c) 2010-2020 Loren West 和其他贡献者