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
里自行配置