使用 import { ConfigModule } from '@nestjs/config';
读取到配置文件中的变量是保存到了 configService
中的
而配置验证是验证的 process.env 中的变量
ConfigModule.forRoot({
isGlobal: true, // 声明为全局模块
load: [Configuration],
validationSchema: Joi.object({ // 验证的是 process.env 中的变量
// db: {
// mysql: {
// NODE_ENV: Joi.string().valid('development1', 'production'),
// port: Joi.number()
// }
// }
USERDOMAIN: Joi.number()
})
如果通过 load + dotent 来将配置设置到 process.env 中,也有个问题就是 dotenv 读取出来的都是字符串。
希望的效果是读取 config 文件夹下面的 yml 文件,并且可以使用 validationSchema 验证。