iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何在Nest.js中配置环境变量
  • 160
分享到

如何在Nest.js中配置环境变量

2023-06-06 11:06:47 160人浏览 薄情痞子
摘要

这篇文章主要介绍了如何在Nest.js中配置环境变量,此处给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:环境变量配置简述程序在不同的环境下需要不同的环境变量,例如生产环境、测试环境以及开发环境所需要不同的

这篇文章主要介绍了如何在Nest.js中配置环境变量,此处给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:

环境变量配置简述

程序在不同的环境下需要不同的环境变量,例如生产环境、测试环境以及开发环境所需要不同的数据库信息:链接地址、链接端口号、登录用户名和密码相关信息。为了解决这个问题需要进行相关操作。

在 Nest 中最佳方案创建一个 ConfigModule,该 ConfigModule 公开一个 ConfigService ,在 ConfigService 加载特有环境的 .env 文件。 Nest 提供了 @nestjs/config 开箱即用的依赖包。

配置

npm 生态有很多相关的依赖包,比如最简单的:

yarn add dotenv-flowyarn add @types/dotenv-flow -D

安装好了直接在 main.ts 使用:

import * as dotenv from 'dotenv-flow'dotenv.config()

就可以使用对应的环境 .env 变量了,不过这样使用官方推荐软件包:@nestjs/config :

yarn add @nestjs/config

在 app.module.ts 中的 forRoot 静态方法配置环境变量 .env 解析:

import { Module } from '@nestjs/common'import { ConfigModule } from '@nestjs/config'@Module({ imports: [ConfigModule.forRoot()]})export class AppModule {}

然后在项目根目录下新建 .env 文件:

DATABASE_USER=DATABASE_PASSWord=DATABASE_NAME=DATABASE_PORT=DATABASE_HOST=

自定义 env 路径

如果 .env 需要细化生产、测试和开发环境可以按照下面进行配置:

ConfigModule.forRoot({ envFilePath: ['.env.development.local', '.env.development'],})

其中排序越前面则优先级最高,但在启动命令中设置环境变量则是最高,例如:

export DATABASE_USER=root && nest start

自定义配置文件

对于复杂的项目,需要把用到的可配置变量需要收集起来,比如新建 src/config/configuration.ts :

export default () => ({ port: parseInt(process.env.PORT, 10) || 3000, database: {  host: process.env.DATABASE_HOST || 'localhost',  port: parseInt(process.env.DATABASE_PORT, 10) || 3306 }})

然后在 ConfigModule.forRoot 加载:

import configuration from './config/configuration'@Module({ imports: [  ConfigModule.forRoot({   load: [configuration]  }) ]})export class AppModule {}

读取配置变量

如果需要读取相关的配置变量需要用到 ConfigService ,需要在用到的 *.module.ts 文件引入:

@Module({ imports: [ConfigModule], // ...})

如果涉及的很多地方要写,每个 module 都要引入很烦人,可以在上面的 app.module.ts

添加一个字段:

import configuration from './config/configuration'@Module({ imports: [  ConfigModule.forRoot({   isGlobal: true,   load: [configuration]  }) ]})export class AppModule {}

然后在构造函数注入使用:

import { ConfigService } from '@nestjs/config'constructor(private configService: ConfigService) {}

获取配置变量例如:

const dbUser = this.configService.get<string>('DATABASE_USER')const dbHost = this.configService.get<string>('database.host')

序列化

序列化指的是程序在网络响应中返回对象发送之前的过程,将提供的信息要进行转换和清理才能发给客户端:比如查询某个用户,一般来说可以返回当前用户实体信息,但里面的密码信息是不可以发送给客户端的,所以这边要做一些转换。

还好 Nest 提供一个 class-transfORMer 相当好用的软件包:

yarn add class-transformer

比如在下列的用户实体信息排除密码信息:

import { Exclude } from 'class-transformer'export class UserEntity { id: number firstName: string; lastName: string; @Exclude() password: string; constructor(partial: Partial<UserEntity>) {  Object.assign(this, partial); }}

然后在控制器处理查询用户方法:

@UseInterceptors(ClassSerializerInterceptor)@Get(':id')findOne(@Param('id') id: string): Promise<UserEntity> { return this.userService.findOne(id)}

最终查询会忽略密码显示。

到此这篇关于如何在Nest.js中配置环境变量的文章就介绍到这了,更多相关{**}的内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何在Nest.js中配置环境变量

本文链接: https://www.lsjlt.com/news/246622.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在Nest.js中配置环境变量
    这篇文章主要介绍了如何在Nest.js中配置环境变量,此处给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:环境变量配置简述程序在不同的环境下需要不同的环境变量,例如生产环境、测试环境以及开发环境所需要不同的...
    99+
    2023-06-06
  • Android环境变量&macOS环境变量配置
    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导...
    99+
    2023-10-28
    android macos android studio
  • 在Linux中如何配置QT环境变量
    这篇文章主要为大家展示了“在Linux中如何配置QT环境变量”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在Linux中如何配置QT环境变量”这篇文章吧。Qt是一个跨平台的C++图形界面应用程序...
    99+
    2023-06-27
  • 如何在Linux中配置JDK环境变量
    如何在Linux中配置JDK环境变量 目录 如何在Linux中配置JDK环境变量 一、下载JDK 二、配置环境变量 三、刷新配置 一、下载JDK Java Downloads | Oracle  得到安装包 上传至服务器   解压 ...
    99+
    2023-09-01
    java centos 服务器
  • 在Linux中配置python环境变量
    在 Linux 中配置 Python 环境变量主要包括两个步骤:找到 Python 安装路径和编辑环境变量文件。以下是具体的操作步骤: 找到 Python 安装路径 首先,需要找到 Python 的安装路径。通常情况下,Python 的默认...
    99+
    2023-10-01
    python linux ubuntu
  • Linux中如何配置环境变量
    这篇文章主要介绍Linux中如何配置环境变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下面所有例子的环境说明如下:系统:Ubuntu 14.0用户名:uusama需要配置MySQL环境变量路径:/hom...
    99+
    2023-06-27
  • openssl环境变量如何配置
    要配置OpenSSL环境变量,您可以按照以下步骤进行操作:1. 找到您的OpenSSL安装目录。默认情况下,它通常安装在C:Open...
    99+
    2023-10-18
    openssl
  • 如何配置python环境变量
    配置python环境变量的方法:1.右键此电脑,进行“属性”;2.点击“高级系统设置”3.点击“环境变量”;4.编辑“path”选项;5.添加python安装路径,确认即可;配置python环境变量的方法首先,在计算机中右键此电脑,选择“属...
    99+
    2022-10-12
  • plsql环境变量如何配置
    在PL/SQL中无法直接配置环境变量,因为PL/SQL是Oracle数据库的编程语言,环境变量是针对操作系统和应用程序的配置选项。但...
    99+
    2023-09-26
    plsql
  • win11如何配置环境变量
    这篇文章主要介绍“win11如何配置环境变量”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win11如何配置环境变量”文章能帮助大家解决问题。win11配置环境变量教程:首先我们右键此电脑,点击“属...
    99+
    2023-07-02
  • maven环境变量如何配置
    要配置Maven环境变量,您需要按照以下步骤进行操作:1. 下载并安装Maven:首先,您需要下载Maven并将其安装在您的计算机上...
    99+
    2023-09-22
    maven
  • 如何配置mysql环境变量
    配置mysql环境变量的方法:1.右键此电脑选择属性;2.在属性界面进入高级系统设置;3.点击环境变量;4.编辑path选项;5.填写mysql安装路径并确认;具体步骤如下:首先,在计算机中右键此电脑,选择“属性”;进入到属性界面后,在界面...
    99+
    2022-10-13
  • mysql如何配置环境变量
    小编给大家分享一下mysql如何配置环境变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!配置方法:1、在“计算机”中找到“系统...
    99+
    2022-10-18
  • java如何配置环境变量
    首先安装jdk,点击打开下图所示窗口。点击上图“下一步“进入下图,下图红色框选位置为安装的路径。点击上图下一步进入下图,点击"完成“即可。下面配置 java环境变量,右键计算机图标,如下图所示:点击上图属性后,弹出系统窗口,点击最左边红色箭...
    99+
    2019-02-03
    java入门 java 环境变量 配置
  • 如何配置oracle环境变量
    如何配置oracle环境变量,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 oracle环境变量...
    99+
    2022-10-18
  • redis如何配置环境变量
    redis配置环境变量的步骤:右键“我的电脑”。再点击“属性”。选择“高级系统设置”。点击“环境变量”。选中Path行,点击编辑进入编辑界面。将你下载的Redis文件夹路径添加即可。...
    99+
    2022-10-20
  • vuecli4.0如何配置环境变量
    目录1.创建不同环境变量文件2.给.env文件添加内容3.在package.json中添加不同环境对应的执行语句4.使用温馨提示:本文只适用于vue-cli 3.0及以上的版本哦~ ...
    99+
    2022-11-13
  • 如何配置jdk环境变量
    这期内容当中小编将会给大家带来有关如何配置jdk环境变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。新建txt文本后选择编辑。2、输入如下代码@echo offecho 正在设置Ja...
    99+
    2023-06-08
  • 如何配置Java环境变量
    如何配置Java环境变量?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JDK环境变量配置右击此点电脑,点击属性再找到高级设置,环境变量,记住一定是系统环境变量!...
    99+
    2023-06-14
  • win7环境变量如何配置
    本篇内容介绍了“win7环境变量如何配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!找到【计算机】右键点击选择【属性】选项即可 在【属性】...
    99+
    2023-07-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作