一、环境配置
1.安装@nestjs/config包
npm i --save @nestjs/config
2.安装cross-env
npm i -D cross-env
打开package.json文件
修改script
将start:dev命令前加上cross-env NODE_ENV=development 使得运行start:dev命令时环境变量设置为development
二、项目结构
src目录中创建common文件夹用于存放公共使用的模块
在common中创建config文件夹并创建config.module.ts (相关配置文件也可以放在config文件夹中)
三、关键代码
import { Module } from '@nestjs/common';
import { ConfigModule as NestConfigModule } from '@nestjs/config';
import * as process from 'node:process';
import * as dotenv from 'dotenv';
import * as Joi from 'joi';
import DbConfig from './db-config';
const envLoads:any[]=[]
envLoads.push(()=>dotenv.config({ path: '.env' ,override:true })) //加载默认的.env文件
envLoads.push(DbConfig) //加载db-config.ts文件中的配置
@Module({
imports: [
NestConfigModule.forRoot({
isGlobal: true,
envFilePath: `.env.${process.env.NODE_ENV}`, //根据环境变量加载不同的.env文件
load: [
...envLoads, // 加载更多的自定义配置文件
],
validationSchema: Joi.object({
MYNAME:Joi.string().default("你的名字") //校验字段
}),
}),
],
})
export class ConfigModule {}