环境变量配置

安装用于加载环境变量的依赖包

npm i --save @nestjs/config

修改入口文件

// src/app.module.ts
import { Module } from "@nestjs/common";
import { AppController } from "./app.controller";
import { AppService } from "./app.service";
//环境变量读取
import { ConfigModule } from "@nestjs/config";

@Module({
  imports: [ConfigModule.forRoot()],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

上面的代码将从.env默认位置(项目根目录)加载并解析一个文件,将文件中的键/值对.env与分配给 的环境变量合并process.env,并将结果存储在一个私有结构中,您可以通过ConfigService. 该forRoot()方法注册ConfigService提供者,提供者提供get()读取这些解析/合并的配置变量的方法。

如果您不想加载.env文件,而只想从运行时环境访问环境变量(如 OS shell 导出,如export DATABASE_USER=test),请将选项对象的ignoreEnvFile属性设置为true

当你想ConfigModule在其他模块中使用时,设置全局。

环境变量文件新建

根目录下新建 .env 文件

自定义配置文件

可以使用自定义配置文件来返回嵌套的配置对象

载入自定义配置文件

测试获取环境变量数据

使用vscode的nest插件生成User module目录,插件会自动组织依赖关系,结构如下

src --modules ----user ------user.controller.ts ------user.service.ts ------user.module.ts

测试结果

最后更新于