<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      G
      Q
      Q
      and
      M
      E

      nest.js中不同環境的配置讀取

      node中不同環境的配置讀取

      在node中最常用的是.env格式的配置文件,他有一個專門的npm包 dotenv

      我們來創建一個node項目試一下:

      進入這個目錄,安裝dotenv:

      npm install dotenv
      

      然后新建一個.env配置文件:

      aaa=1
      bbb=2
      

      新建index.js并寫入如下內容:

      require('dotenv').config({
          path: './.env',
      })
      
      console.log(process.env) 
      

      node執行一下:

      node index.js
      


      打印的環境變量中就包含了.env中的內容

      那如果還有生產環境的配置文件呢

      比如.production.env:

      a=111
      b=222
      

      我們可以通過NODE_ENVIRONMENT環境變量來切換:

      require('dotenv').config({
          path: process.env.NODE_ENVIRONMENT === 'production' ? '.production.env' : '.env',
      })
      
      console.log('aaa', process.env.aaa);
      console.log('bbb', process.env.bbb)
      

       

      nest.js中讀取不同環境配置

      nest中提供了完整的解決方案:@nestjs/config
      我們創建個nest項目來試一下:

      nest new nest-config-test -p npm
      

      安裝一下@nestjs/config包:

      npm install --save @nestjs/config
      

      這個包同樣是動態模塊的方式,他有forRoot和fotFeature兩個方法

      我們在根目錄加一個配置文件.env

      aaa=1
      bbb=2
      

      然后在AppModule里面引入:

      然后再AppController里注入ConfigService來讀取配置:

      把nest服務跑起來:

      npm run start:dev
      

      瀏覽器訪問:

      可以看到,nest讀取到了.env里的配置
      如果有多個配置,比如還有個.aaa.env:

      aaa=3
      

      在AppModule中這樣指定:

      import { Module } from '@nestjs/common';
      import { AppController } from './app.controller';
      import { AppService } from './app.service';
      import { ConfigModule } from '@nestjs/config';
      import * as path from 'path';
      
      @Module({
        imports: [
          ConfigModule.forRoot({
            envFilePath: [
              path.join(process.cwd(), '.aaa.env'),
              path.join(process.cwd(), '.env'),
            ],
          }),
        ],
        controllers: [AppController],
        providers: [AppService],
      })
      export class AppModule {}
      

      前面的配置會覆蓋后面的配置。
      重新跑一下,并訪問:

      可以看到aaa的值被覆蓋了

      如何配置多環境呢?
      在項目根目錄下分別創建.env.env.dev.env.prod文件并且在ConfigModule中加載:

      import { Module } from '@nestjs/common';
      import { AppController } from './app.controller';
      import { AppService } from './app.service';
      import { ConfigModule } from '@nestjs/config';
      
      @Module({
        imports: [
          ConfigModule.forRoot({
            isGlobal: true,
            envFilePath: ['.env.dev', '.env', '.env.prod'],
          }),
        ],
        controllers: [AppController],
        providers: [AppService],
      })
      export class AppModule {}
      

      安裝依賴包來配置設置當前環境:

      npm install cross-env
      

      手動配置啟動環境的配置,修改package.json文件啟動命令:

      "start": "cross-env RUNNING_ENV=dev nest start",
      "start:dev": "cross-env RUNNING_ENV=dev nest start --watch",
      "start:debug": "nest start --debug --watch",
      "start:prod": "cross-env RUNNING_ENV=prod node dist/main",
      

      然后在appModule.ts中寫入如下內容:

      可以看到,不用環境中啟動,會加載不同的.env配置文件

      posted @ 2023-12-27 14:50  sy0313  閱讀(832)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 在线视频中文字幕二区| 国产精品亚洲二区在线播放| 97色伦97色伦国产| 日韩老熟女av搜索结果| 欧美白人最猛性xxxxx| 精品人妻一区二区三区四区在线| 欧美乱码卡一卡二卡四卡免费| 亚洲一区二区三级av| 亚洲成a人片77777kkkk| 国产亚洲精品VA片在线播放| 亚洲精品国产男人的天堂| 在线国产极品尤物你懂的| 91福利国产成人精品导航| 国产精品午夜精品福利| 亚洲最大成人av在线天堂网| 人妻系列无码专区免费| 欧美激情肉欲高潮视频| 老妇女性较大毛片| 少妇熟女久久综合网色欲| 亚洲综合伊人久久综合| 国产精品中文第一字幕| 忘忧草影视| 最新中文字幕国产精品| 夜夜偷天天爽夜夜爱| 国产一区在线播放av| 欧美精品v国产精品v日韩精品| 开心激情站开心激情网六月婷婷| 一区二区三区四区五区自拍| 亚洲一区黄色| 久热这里只有精品12| 亚洲av色精品一区二区| 无码精品人妻一区二区三区中| 日韩中文字幕精品人妻| 亚洲码与欧洲码区别入口| 精品国产色情一区二区三区| 国产不卡一区二区在线| 亚洲男人的天堂久久香蕉| 欧美牲交A欧美在线| 安新县| 久久精品一区二区三区av| 亚洲AV国产福利精品在现观看|