Node-config 教程展示了如何使用 node-config 模块为 Nodeapplications 创建配置文件。
节点配置
Node-config 为应用程序部署创建配置文件。
Node-config 允许我们定义一组默认参数并针对不同的部署环境(开发、质量检查、暂存、生产等)扩展它们。
配置文件位于默认的config目录中。可以使用NODE_CONFIG_DIRenvironment 变量覆盖该位置。 NODE_ENV 环境变量包含我们应用程序部署环境的名称;默认是development。
节点配置支持各种配置文件格式,包括 JSON、YAML、属性或 XML。默认配置文件是default.json(或default.yaml、default.xml)。如果我们使用生产部署,那么配置将从production.json 加载。
设置节点配置
首先,我们安装node-config。
$ npm init -y
我们启动一个新的 Node 应用程序。
$ npm i config
我们使用nmp i config 安装 node-config。
$ npm i js-yaml
此外,我们安装js-yaml 以支持 YAML。
节点配置示例
以下示例使用configpackage 检索配置数据。
{
"app": {
"port": 3000
},
"db": {
"host": "localhost",
"port": 27017,
"name": "ydb"
}
}
我们在default.json 目录中有config。
const config = require('config');
let appPort = config.get('app.port');
console.log(`Application port: ${appPort}`);
let dbHost = config.get('db.host');
console.log(`Database host: ${dbHost}`);
let dbPort = config.get('db.port');
console.log(`Database port: ${dbPort}`);
let dbName = config.get('db.name');
console.log(`Database name: ${dbName}`);
console.log('NODE_ENV: ' + config.util.getEnv('NODE_ENV'));
我们加载config 包并使用config.get 函数获取值。默认部署类型在NODE_ENV 中指定。
$ node simple.js Application port: 3000 Database host: localhost Database port: 27017 Database name: ydb NODE_ENV: development
节点配置示例二
我们将配置文件更改为 YAML 并设置生产部署环境。
app: port: 3000 db: host: localhost port: 27017 name: ydb
这是default.yaml文件。
app: port: 3300 db: host: localhost port: 27017 name: mydb
这是production.yaml文件。
const config = require('config');
let appPort = config.get('app.port');
console.log(`Application port: ${appPort}`);
...
simple.js文件是一样的。
$ node simple.js Application port: 3000 Database host: localhost Database port: 27017 Database name: ydb NODE_ENV: development
这是默认环境的输出。配置从default.yaml加载。
$ set NODE_ENV=production $ node simple.js Application port: 3300 Database host: localhost Database port: 27017 Database name: mydb NODE_ENV: production
我们使用NODE_ENV 命令更改set 变量。(在Linux 上使用export。)现在配置数据从production.yaml 文件加载。
在本文中,我们使用node-config 包为我们的 Node.js 应用程序创建配置文件。
列出所有 JavaScript 教程。
