首页 > 其他分享 >nest.js中的配置抽离

nest.js中的配置抽离

时间:2024-03-27 15:44:56浏览次数:28  
标签:配置文件 nest redis 抽离 server env 根目录 import js

1. 安装config包

npm install --save @nestjs/config

 
2. 在AppModule中引入:

ConfigModule.forRoot({
  isGlobal: true,
  envFilePath: 'src/.env'
})

需要设置全局模块,指定env文件的位置

 
3. 在对应路径下书写对应的.env配置文件

redis_server_host = localhost
redis_server_port = 3306

 
4. 在需要的地方读取配置,这里用redis.module.ts举例

import { Global, Module } from '@nestjs/common';
import { RedisService } from './redis.service';
import { createClient } from 'redis';
import { ConfigService } from '@nestjs/config';

@Global()
@Module({
  providers: [
    RedisService,
    {
      provide: 'REDIS_CLIENT',
      async useFactory(configService: ConfigService) {
        const client = createClient({
          socket: {
            host: configService.get('redis_server_host'),
            port: configService.get('redis_server_port'),
          },
          database: 1,
        });

        await client.connect();
        return client;
      },
      inject: [ConfigService],
    },
  ],

  exports: [RedisService],
})
export class RedisModule {}

 

这样就实现了配置常量的统一抽取,要注意,我们的.env配置文件是不能直接放在根目录下的,根目录下的配置文件在打包时不会直接复制到dist目录中;
如果非要把.env放在根目录,只能在打包的时候手动加一下赋值逻辑:

"build":"nest build && cp .env dist/"

标签:配置文件,nest,redis,抽离,server,env,根目录,import,js
From: https://www.cnblogs.com/sunyan97/p/18099365

相关文章

  • 安装nodejs
    方法一:源码包安装官网下载centos下载最新版10.9https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xzmkdir/opt/software/&&cd/opt/software/tar-xvfnode-v10.9.0-linux-x64.tar.xzmvnode-v10.9.0-linux-x64nodejs建立软连接,变为全局①ln-s/opt/soft......
  • 掌握Node.js:常用命令及示例
    Node.js是一个流行的JavaScript运行时环境,广泛应用于服务器端开发、命令行工具和前端构建工具等方面。在Node.js中,有许多常用的命令可用于管理项目、安装依赖项以及运行脚本。本文将介绍一些常用的Node.js命令,并提供相应的示例,以帮助开发者更好地利用这些命令。1.node......
  • 【附源码】Node.js毕业设计公办小学网络报名系统(Express)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在当今信息化社会,网络技术已经深入到各个领域,教育领域也不例外。传统的公办小学报名方式主要是线下排队、人工登记,这种方式不仅效率低下,而且容易出现错误。......
  • [附源码]计算机毕业设计基于大数据的身体健康管理平台(JSP+java+springmvc+mysql+MyBa
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图项目介绍随着健康意识的提升和大数据技术的发展,基于大数据的身体健康管理平台成为现代社会追求高质量生活的一个新趋势。这种平台通过收集和分析用户的健康数据,提供个性......
  • [附源码]计算机毕业设计文档管理系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图项目介绍随着信息化时代的到来,企业和机构在日常运营中产生大量文档资料。有效的文档管理系统(DMS)对于保障信息的组织、存储、检索和安全至关重要。一个先进的DMS能够帮助......
  • node.js开发环境搭建
    node.js开发环境搭建前端主要使用javascript或typescript语言,前端项目主要使用node.js(提供运行环境)+npm(管理项目包依赖)进行项目构建,而node.js与npm版本关系有耦合,因此需要使用nvm工具统一管理node.js与npm的版本。安装nvm更多细节参考官方文档,本文以macos为例进行安装。注意:官......
  • 2024 年排名前 5 的 Node.js 后端框架
    自2009年以来,Node.js一直是人们谈论的话题,大多数后端开发人员都倾向于使用Node.js。在过去的几年里,它的受欢迎程度有所增加。它被认为是美国最受欢迎的网络开发工具,包括Netflix和PayPal等客户。受欢迎程度增加的原因是加载时间的减少和性能的提高。因此,分析2024......
  • js事件循环
            js的事件循环是js的一种执行机制。    众所周知,js是一门单线程的语言,也就是同步的,同一时间只能做一件事情。这是因为浏览器仅分配给了js一个主线程来执行任务,且一次只能执行一个任务。这些待执行的任务排好队伍,依次执行。    但是js某些任务......
  • 监控工具-jvisualvm.exe-入门,监控tomcat7的jmx、jstatd
    1、添加JMX1.1、catalina-jmx-remote.jar 放在Tomcat的 lib 目录下catalina-jmx-remote.jar 的确切位置可能因Tomcat版本和发行版而异,但通常它应该被放置在Tomcat的 lib 目录下 1.2、catalina.sh设置JVM参数对于Linux/Unix,编辑 catalina.sh 文件......
  • 最详细爬虫零基础教程10——json格式提取之jsonpath
    文章目录一、json数据解析二、案例演示1.解析获得数据2.简化代码3.豆瓣json数据解析总结一、json数据解析用来解析多层嵌套的json数据;JsonPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript,Python,PHP和Java。语......