阅读本文前,需要提前阅读前置内容:
一、Midway 增删改查
二、Midway 增删改查的封装及工具类
三、Midway 接口安全认证
四、Midway 集成 Swagger 以及支持JWT bearer
五、Midway 中环境变量的使用
通常我们不希望将生产环境的相关配置写在项目代码中,而希望在不同的环境中启动时自动读取环境中设置的配置;
在本教程中,我也不希望将自己的数据库、缓存IP提交到代码仓库,所以可以使用环境变量+host;
npm install dotenv --save
// src/configuration.ts
import * as dotenv from 'dotenv';
// 初始化环境变量
dotenv.config();
@Configuration({
imports: [
// ...
]
})
export class ContainerLifeCycle {
// ...
}
// .env
MYSQL_HOST=devserver
MYSQL_USERNAME=dev
MYSQL_PASSWORD=123456
MYSQL_PORT=3306
REDIS_HOST=devserver
REDIS_PORT=6379
// windows电脑
// Windows\System32\drivers\etc\hosts
// xx.xx.xx.xx 为你自己mysql、redis的ip,如果在一台机器上的话
xx.xx.xx.xx devserver
// src/config/config.default.ts
orm: {
type: 'mysql',
host: process.env.MYSQL_HOST,
port: process.env.MYSQL_PORT,
username: process.env.MYSQL_USERNAME,
password: process.env.MYSQL_PASSWORD,
database: 'midway_boot',
synchronize: true, // 如果第一次使用,不存在表,有同步的需求可以写 true
logging: true,
},
// redis配置
redis: {
client: {
host: process.env.REDIS_HOST,
port: process.env.REDIS_PORT,
db: 0,
},
},
在生产环境中使用,你可以将环境变量配置到系统中,如果你是Docker启动,可以指定环境变量文件。
版权所有,转载请注明出处 [码道功成]