主题
设置配置
为项目添加配置设置,主要用来存储环境变量。
配置的说明,这里只用来管理env文件中的变量。
准备工作
创建.env文件,并添加配置项。
bash
# 基础环境配置
NODE_ENV = 'production'
PORT = 4598安装配置包和引入、使用
安装依赖包后,在app.module.ts中引入,在不同文件中使用方法不同。
安装
shell
npm i --save @nestjs/config引入
在 config/configuration.ts 中自定义配置文件
app.module.ts
ts
export default () => ({
port: parseInt(process.env.PORT, 10) || 3000,
database: {
host: process.env.DATABASE_HOST,
port: parseInt(process.env.DATABASE_PORT, 10) || 5432
}
});在app.module.ts 中引入
app.module.ts
ts
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import configuration from '@/config/configuration'
@Module({
imports: [ConfigModule.forRoot({
isGlobal: true, // 全局可用
load: [configuration], // 自定义配置
envFilePath: '.development.env', // 加载指定的env文件
// 加载多个env文件,在多个文件中找到一个变量,则第一个优先。
envFilePath: ['.env.development.local', '.env.development'],
})],
})
export class AppModule {}使用
在main.ts中使用
ts
const configService = app.get(ConfigService);
const port = configService.get('port');在 controller 和 service 中使用
ts
import { ConfigService } from '@nestjs/config';
export class UserService {
constructor(private configService: ConfigService) {}
findAll() {
console.log(this.configService.get('port'));
return `This action returns all user`;
}
}
