閱讀本文前,需要提前閱讀前置內(nèi)容:
一河绽、Midway 增刪改查
二、Midway 增刪改查的封裝及工具類(lèi)
三唉窃、Midway 接口安全認(rèn)證
四耙饰、Midway 集成 Swagger 以及支持JWT bearer
五、Midway 中環(huán)境變量的使用
通常我們不希望將生產(chǎn)環(huán)境的相關(guān)配置寫(xiě)在項(xiàng)目代碼中纹份,而希望在不同的環(huán)境中啟動(dòng)時(shí)自動(dòng)讀取環(huán)境中設(shè)置的配置苟跪;
在本教程中,我也不希望將自己的數(shù)據(jù)庫(kù)蔓涧、緩存IP提交到代碼倉(cāng)庫(kù)件已,所以可以使用環(huán)境變量+host;
安裝組件
npm install dotenv --save
初始化環(huán)境變量
// src/configuration.ts
import * as dotenv from 'dotenv';
// 初始化環(huán)境變量
dotenv.config();
@Configuration({
imports: [
// ...
]
})
export class ContainerLifeCycle {
// ...
}
在根目錄添加文件.env
// .env
MYSQL_HOST=devserver
MYSQL_USERNAME=dev
MYSQL_PASSWORD=123456
MYSQL_PORT=3306
REDIS_HOST=devserver
REDIS_PORT=6379
在host文件中添加域名映射
// windows電腦
// Windows\System32\drivers\etc\hosts
// xx.xx.xx.xx 為你自己mysql元暴、redis的ip篷扩,如果在一臺(tái)機(jī)器上的話(huà)
xx.xx.xx.xx devserver
使用環(huán)境變量
// 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, // 如果第一次使用,不存在表茉盏,有同步的需求可以寫(xiě) true
logging: true,
},
// redis配置
redis: {
client: {
host: process.env.REDIS_HOST,
port: process.env.REDIS_PORT,
db: 0,
},
},
在生產(chǎn)環(huán)境中使用鉴未,你可以將環(huán)境變量配置到系統(tǒng)中,如果你是Docker啟動(dòng)鸠姨,可以指定環(huán)境變量文件铜秆。
版權(quán)所有,轉(zhuǎn)載請(qǐng)注明出處 [碼道功成]