NestJS学习记录-Config

接下来几篇文章,我会从新建项目开始,一步一步完成以下几个工作内容。

1、NestJS中加载配置文件

2、NestJS中使用数据库,使用TypeOrm 

3、NestJS中使用class-validator和validatorpipe(验证管道)

4、NestJS中使用JWT,创建auth.guard(守卫)

5、NestJS中使用winston记录日志

6、NestJS中使用中间件和拦截器

7、NestJS中事件监听器和消息队列

8、NestJS中使用缓存

上述内容,可能部分前后顺序发布文章,也可以自行官网学习。

准备工作

在一个空目录中,打开命令行,执行命令nest new your-project-name(需要提前安装nest-cli),这里我选择了使用pnpm包管理工具,所以后续安装包的命令需要使用pnpm安装。在项目根目录添加两个配置文件:

.env.development 开发环境用

.env.production 正式环境用

初始目录如下:

一、NestJS中使用配置文件

1、安装依赖包

pnpm i --save @nestjs/config

文档地址:

NestJS 中文网Nest 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的框架。 它使用渐进式 JavaScript,使用 TypeScript 构建,并结合了 OOP(面向对象编程)、FP(函数式编程)和 FRP(函数式反应式编程)的元素。icon-default.png?t=O83Ahttps://nest.nodejs.cn/techniques/configuration 2、创建一个envconfig模块

nest g module envconfig

此命令会创建一个envconfig.module.ts文件,并把此模块导入到app.module中。 

3、打开envconfig.module.ts,添加以下代码:

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

@Module({
  imports: [
    ConfigModule.forRoot({
      envFilePath:
        process.env.NODE_ENV === 'production'
          ? '.env.production'
          : '.env.development',
      isGlobal: true,
    }),
  ],
  exports: [ConfigModule],
})
export class EnvconfigModule {}

envFilePath:配置我们加载的配置文件

isGlobal:true 设置ConfigModule为全局模块

4、简单测试

我们打开.env.production文件,添加以下内容

HELLO=Hi,Boy

我们再app.controller.ts中读取配置文件

 读取配置时,我们需要ConfigModule模块中的ConfigService,所以我们需要在app.controller.ts中注入ConfigService,添加以下代码(需要从@nestjs/config中导入ConfigService):

private readonly configService: ConfigService

让我们添加一个方法,获取刚才我们配置的HELLO

@Get('envHello')
  getEnvHello(): string {
    return this.configService.get<string>('HELLO')
  }

 此时,我们运行项目,调用接口http://localhost:3000/envHello

至此说明,我们已经配置成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值