侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

Egg05 - 运行环境管理

barwe
2022-04-16 / 0 评论 / 0 点赞 / 946 阅读 / 629 字
温馨提示:
本文最后更新于 2022-04-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

运行环境一般分为:

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

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

指定环境

  • 通过文件(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

评论区