基本使用
在程序部署過程中,不同的環境(生產環境、開發環境)程序的一些配置參數不同,比如數據庫信息配置。
對於配置的參數,我們通常使用配置文件管理。
在nodejs中,可以使用第三方模塊config模塊管理操作配置文件。
config模塊的作用
允許開發人員將不同運行環境下的應用配置信息抽離到單獨的文件中,模塊內部自動判斷當前應用的運行環境(環境變量配置的-NODE_ENV的值),並讀取對應的配置信息,極大提供應用配置信息的維護成本,避免了當運行環境重復的多次切換時,手動到項目代碼中修改配置信息。
使用步驟
- 使用
npm install config
命令下載模塊 - 在項目的根目錄下新建config文件夾
- 在config文件夾下新建default.json、development.json、production.json文件
- 在項目中通過require方法,將模塊導入程序中
- 使用模塊內部提供的
get
方法獲取配置信息
代碼示例:
default.json
{
"title":"管理系統"
}
production.json
{
"title":"管理系統-生產環境"
}
development.json
{
"title":"管理系統-開發環境",
"db": {
"user":"root",
"pwd": "root",
"host":"127.0.0.1",
"port":28888,
"datasource": "myblog"
}
}
app.js
const config = require('config')
const title = config.get('title')
console.log(title)
const host = config.get('db.host')
console.log(host)
console.log(process.env.NODE_ENV)
輸出結果
管理系統-開發環境
127.0.0.1
development
擴展
在實際開發中,對於一些敏感配置信息(如:數據庫登錄密碼),我們一般不會選擇明文寫在配置文件中,而是配置在系統變量中。操作步驟如下
-
在config文件夾中建立
custom-environment-variables.json
文件。 -
配置項屬性的值填寫系統環境變量的名字
-
項目運行時config模塊查找系統環境變量,並讀取其值作為配置項的值。
custom-environment-variables.json文件
{
"db": {
"pwd": "MYBLOGDB_PWD"
}
}
app.js
const config = require('config')
console.log(process.env.NODE_ENV)
console.log(config.get('db.pwd'))
輸出結果:
development
123456