什么是開發環境與生產環境
環境,就是指項目運行的地方,當項目處於開發階段,項目運行在開發人員的電腦上,項目所處的環境就是開發環境。當項目開發完成以后,要將項目放到真實的網站服務器電腦中運行,項目所處的環境就是生產環境。
為什么要區分開發環境與生產環境
因為在不同的環境中,項目的配置是不一樣的,需要在項目代碼中判斷當前項目運行的環境,根據不同的環境應用不同的項目配置。
如何區分開發環境與生產環境
通過電腦操作系統中的系統環境變量區分當前是開發環境還是生產環境。
在系統中設置環境變量:
NODE_ENV
-
development 開發環境
-
production 生產環境
morgan
node.js第三方模塊,也是express中間件函數,可以將請求信息打印到控制台中,供開發人員進行查看
// 導入morgan這個第三方模塊
const morgan = require('morgan');
// 獲取系統環境變量 返回值是對象
if (process.env.NODE_ENV == 'development') {
// 當前是開發環境
console.log('當前是開發環境')
// 在開發環境中 將客戶端發送到服務器端的請求信息打印到控制台中
app.use(morgan('dev'))
} else {
// 當前是生產環境
console.log('當前是生產環境')
}
第三方模塊config
作用:允許開發人員將不同運行環境下的應用配置信息抽離到單獨的文件中,模塊內部自動判斷當前應用的運行環境,並讀取對應的配置信息,極大提供應用配置信息的維護成本,避免了當運行環境重復的多次切換時,手動到項目代碼中修改配置信息
使用步驟
-
使用npm install config命令下載模塊
-
在項目的根目錄下新建config文件夾
-
在config文件夾下面新建default.json、development.json、production.json文件
-
在項目中通過require方法,將模塊進行導入
-
使用模塊內部提供的get方法獲取配置信息
將敏感配置信息存儲在環境變量中
-
在config文件夾中建立custom-environment-variables.json文件
-
配置項屬性的值填寫系統環境變量的名字
-
項目運行時config模塊查找系統環境變量,並讀取其值作為當前配置項屬於的值
{
"db": {
"pwd": "APP_PWD"
}
}