1. egg中的運行環境
1.1 基本
很多 Node.js 應用會使用 NODE_ENV
來區分運行環境,但 egg 中使用 EGG_SERVER_ENV
NODE_ENV | EGG_SERVER_ENV | 說明 |
---|---|---|
無 | local | 本地開發環境 |
test | unittest | 單元測試 |
production | prod | 生產環境 |
當 NODE_ENV 爲 production 而 EGG_SERVER_ENV 未指定時,框架會將 EGG_SERVER_ENV 設置成 prod。
2.2 部署命令
部署的時候,我們一般這樣:
EGG_SERVER_ENV=prod npm start
config.default.js 爲默認的配置文件,所有環境都會加載這個配置文件,一般也會作爲開發環境的默認配置文件。
當指定 env 時會同時加載對應的配置文件,並覆蓋默認配置文件的同名配置。如:
prod 環境會加載 config.prod.js 和 config.default.js 文件,config.prod.js 會覆蓋 config.default.js 的同名配置。
2.3 自定義環境
要爲開發流程增加集成測試環境 SIT。將 EGG_SERVER_ENV
設置成 sit(並建議設置 NODE_ENV = production
),啓動時會加載 config/config.sit.js
,運行環境變量 app.config.env 會被設置成 sit。
2.4 與Koa的區別
Koa:
通過 app.env
來進行環境判斷,默認值 process.env.NODE_ENV
Egg:
通過 app.config.env
來進行環境判斷,配置文件在 app.config
裏自行配置