目录

程序应用环境变量和配置

环境变量

由大写字母组成,文件SET 方式导入环境

可申明一个主环境变量:APP_ENV

APP_ENV 枚举: local / development / testing / staging / production

环境定义

  • 系统环境:由系统、虚拟机或容器提供的环境变量
  • 应用环境:由当前的应用提供环境变量

查看方式

MacOS / Liunx 打印环境变量

env

Windows 打印环境变量

ls env:

常用策略

  • * 为机器申明环境变量
  • * 为应用申明环境变量
  • 合并机器/应用环境变量到应用中使用

应用配置

多文件组成的配置文件

常用方式

应用中会直接使用配置,而不是环境变量进行判断

方式一

在配置文件中根据 APP_ENV 环境变量做判断

.env

APP_ENV=local

config

db = {
  type: "mysql"
  name: "test"
  username: "test"
  password: env('APP_ENV') != "production" ? "test" : "123456"
}

controller

const password = config('db.password');

方式二

在配置文件中直接读取相应的环境变量

.env

APP_ENV=local

DB_TYPE=mysql
DB_NAME=test
DB_USERNAME=test
DB_PASSWORD=test

config

db = {
  type: env('DB_TYPE'),
  name: env('DB_NAME'),
  username: env('DB_USERNAME'),
  password: env('DB_PASSWORD')
};

controller

const password = config('db.password');

方式三

应用直接拉取配置中心的配置

container

APP_ENV=local

config

$.ajax('https://config.wishrd.cn/?APP_NAME=xxx&APP_ENV=${APP_ENV}');

controller

const password = config('db.password');