egg:egg中的运行环境以及与koa的区别

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章