侧边栏壁纸
博主头像
我的学习心得 博主等级

行动起来,活在当下

  • 累计撰写 223 篇文章
  • 累计创建 60 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

Egg05 - 运行环境管理

Administrator
2022-04-16 / 0 评论 / 0 点赞 / 1089 阅读 / 0 字

运行环境一般分为:

  • 本地环境
    • 本地开发环境
    • 本地测试环境
    • ……
  • 服务器环境
    • 生产环境
    • ……

应用本身对环境是无感的,我们只需要在启动应用时为它指定配置,应用无需知道这个配置属于哪一个环境。

指定环境

  • 通过文件(config/env)指定
  • 通过环境变量指定:EGG_SERVER_ENV=prod pnpm start (推荐方式😉)

获取环境

从配置对象中获取:config.env

配置环境

在 Config 中配置。

NODE_ENV 的区别

NODE_ENV是大部分 Node.js 应用使用的环境变量,例如 NODE_ENV=production

EGG_SERVER_ENV是 Egg.js 应用使用的环境变量,比NODE_ENV更加精细,例如EGG_SERVER_ENV=prod

Egg.js 应用优先使用EGG_SERVER_ENV环境变量,未定义时使用NODE_ENV 来确定EGG_SERVER_ENV

不同环境下对应的EGG_SERVER_ENV值为:

  • 本地开发环境:local
  • 本地(单元)测试环境:unittest
  • 生产环境:prod

自定义环境

例如自定义集成测试环境的步骤是:

  1. 设置NODE_ENV=production
  2. 设置EGG_SERVER_ENV=sit
  3. 配置 config/config.sit.ts
  4. 启动应用后config.env的值为"sit"

与 Koa 的区别

获取环境默认值
Koaapp.envprocess.env.NODE_ENV
Eggapp.config.env-
0

评论区