美文网首页
Nestjs加载和读取配置

Nestjs加载和读取配置

作者: 陈晓青_57a8 | 来源:发表于2023-08-24 13:59 被阅读0次

在 NestJS 中,我们可以使用 ConfigModule 模块来加载自定义配置。

首先,我们需要安装 @nestjs/config 包:

npm install --save @nestjs/config

然后,在你的应用程序模块中使用 ConfigModule

import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot({
      envFilePath: '.env', // 可选的,指定环境变量文件的路径
      isGlobal: true, // 可选的,表示配置模块是否应该是全局的,默认为 true
    }),
  ],
})
export class AppModule {}

ConfigModule.forRoot 中,可以使用一些配置选项来指定加载配置的行为和规则。常用的选项包括:

  • envFilePath: 指定环境变量文件(如 .env)的路径,可以包含多个不同环境的配置,如 .env.production.env.test 等,还可以通过 process.env.NODE_ENV 环境变量动态加载相应的配置。
  • isGlobal: 指定是否将配置模块设置为全局的,如果设置为 true(默认值),则可以在任何地方使用配置服务,否则需要在每个需要使用配置的模块中引入 ConfigModule

在配置模块加载完成后,就可以使用 ConfigService 服务来读取配置了,例如:

import { Injectable } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';

@Injectable()
export class AppService {
  constructor(private configService: ConfigService) {}

  getPort(): number {
    return this.configService.get<number>('APP_PORT') || 3000;
  }

  getDatabaseConfig(): { host: string, port: number, username: string, password: string } {
    return {
      host: this.configService.get<string>('DB_HOST', 'localhost'),
      port: this.configService.get<number>('DB_PORT', 5432),
      username: this.configService.get<string>('DB_USERNAME', 'admin'),
      password: this.configService.get<string>('DB_PASSWORD', 'password'),
    };
  }
}

以上代码中,我们使用 ConfigService 服务来读取了两个配置项,分别是 APP_PORTDB_* 相关的配置项。如果获取不到配置项,就会使用指定的默认值。

相关文章

  • 使用 Nest CLI 建立新项目

    1、安装nestjs@cli 2、使用脚手架创建项目 3、下载依赖 4、package.json配置热加载

  • SpringBoot项目配置放项目外部【3】

    加载外部配置文件到项目中 实现外部配置在Java代码中使用 1. 增加一个配置文件读取类,设置读取配置的前缀 这种...

  • 九、资源加载服务模块

    结合文件读取,加载,解析模块的内容,可以做一个资源加载服务模块,可以加载配置文件,加载资源,加载场景等。

  • Spring Cloud Config 流程源码详解

    Server 如何加载核心接口是EnvironmentRepository,提供配置的读取public inter...

  • Spring IOC

    1,将类加载成Bean定义 BeanDefinition -》BeanDefinitionMap 首先读取配置类 ...

  • uos linux启动流程

    设备加电->加载bios->读取主引导记录->启动加载器->(加载内核->初始化环境->配置系统环境->启动内核模...

  • thinkphp5学习笔记(二)配置文件

    配置文件 配置文件格式 场景配置 模块配置 加载其他位置的配置文件 如何正确读取配置项 动态配置 如何正确设置配置...

  • Unity AB管理

    Assetbundle管理 核心:读配置表,依赖加载管理 读取AssetBundle配置表设置中间类进行引用计数根...

  • nest.js 集成项目环境配置 env config

    通过env搭配@nestjs/config实现 环境配置。 安装依赖 文件配置 创建环境配置文件 config T...

  • 使用Python进行数据标准化

    读取数据 首先,加载pandas和numpy库,读取数据。 import pandas as pd i...

网友评论

      本文标题:Nestjs加载和读取配置

      本文链接:https://www.haomeiwen.com/subject/rlipmdtx.html