多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Node-config 教程 > 标题: [http://zetcode.com/javascript/nodeconfig/](http://zetcode.com/javascript/nodeconfig/) Node-config 教程展示了如何使用 node-config 模块为 Node 应用创建配置文件。 ## Node-config Node-config 创建用于应用部署的配置文件。 Node-config 允许我们定义一组默认参数,并将它们扩展为不同的部署环境(开发,质量保证,登台,生产等)。 配置文件位于默认的`config`目录中。 可以使用`NODE_CONFIG_DIR`环境变量覆盖该位置。 `NODE_ENV`环境变量包含我们应用的部署环境的名称; 默认为`development`。 Node-config 支持各种配置文件格式,包括 JSON,YAML,属性或 XML。 默认配置文件为`default.json`(或`default.yaml`和`default.xml`)。 如果我们使用生产部署,那么将从`production.json`加载配置。 ## 安装 Node-config 首先,我们安装`node-config`。 ```js $ node -v v11.5.0 ``` 我们使用 Node 版本 11.5.0。 ```js $ npm init -y ``` 我们启动一个新的 Node 应用。 ```js $ npm i config ``` 我们使用`nmp i config`安装 node-config。 ```js $ npm i js-yaml ``` 此外,我们安装了`js-yaml`以支持 YAML。 ## Node-config 示例 以下示例使用`config`包检索配置数据。 `config/default.json` ```js { "app": { "port": 3000 }, "db": { "host": "localhost", "port": 27017, "name": "ydb" } } ``` 我们在`config`目录中有`default.json`。 `simple.js` ```js 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`中指定。 ```js $ node simple.js Application port: 3000 Database host: localhost Database port: 27017 Database name: ydb NODE_ENV: development ``` 这是输出。 ## Node-config 示例 II 我们将配置文件更改为 YAML 并设置生产部署环境。 `config/default.yaml` ```js app: port: 3000 db: host: localhost port: 27017 name: ydb ``` 这是`default.yaml`文件。 `config/production.yaml` ```js app: port: 3300 db: host: localhost port: 27017 name: mydb ``` 这是`production.yaml`文件。 `simple.js` ```js const config = require('config'); let appPort = config.get('app.port'); console.log(`Application port: ${appPort}`); ... ``` `simple.js`文件是相同的。 ```js $ node simple.js Application port: 3000 Database host: localhost Database port: 27017 Database name: ydb NODE_ENV: development ``` 这是默认环境的输出。 从`default.yaml`加载配置。 ```js $ set NODE_ENV=production $ node simple.js Application port: 3300 Database host: localhost Database port: 27017 Database name: mydb NODE_ENV: production ``` 我们使用`set`命令更改`NODE_ENV`变量。 (在 Linux 上使用`export`。)现在,从`production.yaml`文件加载配置数据。 在本教程中,我们使用`node-config`包为 Node.js 应用创建配置文件。 您可能也对以下相关教程感兴趣: [Node.js 教程](/javascript/nodejs/)。 列出[所有 JavaScript 教程](/all/#js)。