nestJS环境变量设置

172 阅读1分钟

nestJS环境变量设置

  1. 安装

    $ npm i --save @nestjs/config
    
  2. app.module引入


    import { ConfigModule } from '@nestjs/config';
    
     @Module({
       imports: [ConfigModule.forRoot({
          envFilePath: ['.env.development', '.env.production'],
          isGlobal: true, // 在全局使用环境变量
       })],
     })
    
  3. 定义环境变量

  • env.development .env.production
     MYSQL_HOST="XXXX"
     MYSQL_PASSWORD="XXXX"
    
  1. 定义环境变量文件使用环境变量
    import { Module } from '@nestjs/common';
     import { TypeOrmModule } from '@nestjs/typeorm';
     import { AppController } from './app.controller';
     import { AppService } from './app.service';
     import { UserModule } from './user/user.module';
     import { AuthModule } from './auth/auth.module';
     import { MenuModule } from './menu/menu.module';
     import { RoleModule } from './role/role.module';
     import { ConfigModule } from '@nestjs/config';
     @Module({
       imports: [
         //  环境变量设置
         ConfigModule.forRoot({
           envFilePath: ['.env.development', '.env.production'],
           isGlobal: true, // 在全局使用环境变量
         }),
         // 数据库连接
         TypeOrmModule.forRoot({
           type: 'mysql',
           host: process.env.MYSQL_HOST,
           port: 3306,
           username: 'root',
           password: process.env.MYSQL_PASSWORD,
           database: 'xxxx',
           autoLoadEntities: true,
           synchronize: true, //实体与数据表进行对应,不创建数据库也会自动生成
         }),
         UserModule,
         AuthModule,
         MenuModule,
         RoleModule,
       ],
       controllers: [AppController],
       providers: [AppService],
     })
     export class AppModule {}