精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用 Node-Config 在 Node.Js 中創建配置文件

開發 前端
Node-config允許你在你的Node應用程序中為不同的部署環境創建配置文件。有了它,你可以定義一個你打算跨環境重復使用的默認配置文件,然后將默認配置擴展到其他環境,如開發、暫存等。

管理跨不同環境的多個配置文件可能具有挑戰性,并且有多種工具正試圖用不同的方法解決這個問題。但是,在本文中,我們將學習如何使用 node-config[1] 跨不同部署環境創建和管理 Node.js 配置文件。

node-config是什么?

Node-config允許你在你的Node應用程序中為不同的部署環境創建配置文件。有了它,你可以定義一個你打算跨環境重復使用的默認配置文件,然后將默認配置擴展到其他環境,如開發、暫存等。

你可以使用一些臨時的命令行參數來覆蓋這些參數,比如在你的命令行參數中加入NODE_ENV=development。

Node-config使創建和管理一個在所有部署環境中共享的一致的配置界面變得更加容易。

為了更好地理解如何設置這個配置,讓我們使用一個Node應用樣本。首先,在你的終端上運行下面的命令來克隆這個資源庫,或者從這里下載并解壓它。

  1. git clone https://github.com/ezesundayeze/node-env-sample 

要安裝 Node 依賴項,請運行:

  1. npm install 

設置 node-config

因為node-config是一個npm包,我們可以通過運行這些命令中的任何一個來用npm或yarn安裝它。

  1. npm install config 

或者

  1. yarn add config 

支持的 node-config 文件擴展名

Node-config 支持許多文件擴展名。在發布時,當前版本的 node-config (3.3.6) 支持以下擴展:

  1. - .json 
  2. - .json5 
  3. - .hjson 
  4. - .yaml or .yml 
  5. - .coffee 
  6. - .js 
  7. - .cson 
  8. - .properties 
  9. - .toml 
  10. - .ts 
  11. - .xml 

這意味著你可以用任何一個支持的擴展來創建你的配置文件,但為你的項目選擇一個擴展并在整個構建過程中堅持使用它是有意義的。

在本教程中,我們將使用 .json 擴展名。

創建默認環境變量

創建一個 config 目錄并向其中添加一個 config/default.json 文件。這將是默認配置文件,并將包含所有默認環境變量。

在我們的示例應用程序中它應該是這樣的:

config/default.json

  1.   "server": { 
  2.     "host""localhost"
  3.     "port": 0, 
  4.   } 

我們將在我們的應用程序中通過導入 config 和使用 get 方法訪問變量來訪問它。

  1. const config = require('config'); 
  2. const port = config.get('server.port'); 
  3. const host = config.get('server.host'); 

讓我們創建一個 server.js 文件并添加以下代碼。

  1. const express = require('express'); 
  2. const config = require('config'); 
  3. const app = express(); 
  4. const port = config.get('server.port'); 
  5. const host = config.get('server.host'); 
  6.  
  7. app.get('/', (req, res) => { 
  8.   res.send('Hello World'); 
  9. }); 
  10. const server = app.listen(port, host, (err) => { 
  11.   if (err) { 
  12.     console.log(err); 
  13.     process.exit(1); 
  14.   } 
  15.   console.log(`Server is running on ${host}:${server.address().port}`); 
  16. }); 

你可以在你的應用程序的其他部分以類似的方式使用node-config。

擴展默認配置文件

你可以通過創建其他配置文件來擴展默認的配置文件。例如,你可以為開發、生產、QA、暫存、本地等創建配置文件。讓我們來介紹一下我們將在我們的應用程序中使用的配置文件的主要類型。

本地配置文件

創建本地配置文件是為了覆蓋你的配置文件的部署版本。例如,對于你的開發部署,你可以有一個 local-development.json 文件來存儲你所有的本地開發配置——它反映了你在部署的開發環境中期望的那種行為。

因此,你可以擁有這樣的東西:

  1. local-{instance}.EXT 
  2. local-{deployment}.EXT 
  3. local-{deployment}-{instance}.EXT 

短主機名和完整主機名

你也可以使用簡短和完整的主機名來定義你在特定平臺上的配置文件,以防你要在多個實例上進行部署。例如,您可以有一個 {short_hostname},它將代表您的服務器名稱直到第一個點。如果您的主機名是 demo.example.com,則配置可以是 demo.EXT (demo.json)。

此外,如果您的 {full_hostname} 是您的整個服務器名稱,則您可以在 {short_hostname} 與其他機器發生沖突時使用它。因此,在您的主機名是 demo.example.com 的情況下,您的配置文件名將是 demo.example.com.json。

自定義配置文件

你可能還想創建一個自定義的配置文件來容納一些環境變量的覆蓋。Node-config提供了對配置文件類型的支持,你可以用 custom-environment-variables.EXT(custom-environment-variables.json)的名字來定義。

測試配置值

如果您的環境變量沒有設置,使用它們的服務就會中斷。所以,你應該確保你的環境變量已經過測試。Node-config 提供了多個實用程序,其中之一是 config.has() 方法,它允許您驗證是否設置了環境變量。

你可以創建一個測試文件或將其添加到你的預提交鉤子中,以確保你的配置文件都已設置好。

以下是如何使用 config.has() 檢查配置變量是否存在的示例:

  1. if (config.has('dbConfig')) {  
  2. ...  

你也可以在你的Jest測試中使用它,像這樣:

  1. const config = require('config'); 
  2. test('Server config exist', () => { 
  3.   expect(config.has("server")).toBe(true); 
  4. }); 
  5. test('Default config exist', () => { 
  6.   expect(config.has("server.port")).toBe(true); 
  7.   expect(config.has("server.host")).toBe(true); 
  8. }); 

使用命令行重寫

使用命令行覆蓋允許你從你的終端或命令行中即時指定配置參數。你需要在啟動應用程序時通過指定 NODE_CONFIG='{...}' 命令來設置配置,參數必須是JSON字符串的格式。

下面是一個例子:

  1. NODE_CONFIG='{"server": {"host":"192.168.43.13", "port":"3030"}}' npm run dev 

JSON 值周圍的單引號允許您安全地使用雙引號。在某些情況下,根據您的操作系統,您可能需要對某些字符進行轉義。您還可以使用命令行導出來避免一直鍵入命令。

在你的終端上運行下面的命令將覆蓋你的服務器的主機和端口或你選擇覆蓋的任何其他配置。

  1. export NODE_CONFIG='{"server": {"host":"192.168.43.13", "port":"3030"}}' 

如果您更喜歡使用 JavaScript,可以在調用配置庫之前將其添加到您的服務器文件中,如下所示:

  1. const express = require('express'); 
  2. process.env.NODE_CONFIG = '{"server": {"host":"localhost", "port":"3030"}}'
  3. const config = require('config'); 

訣竅是在配置加載之前將 NODE_CONFIG 變量設置為 JSON 字符串。

發生這種情況是因為命令行覆蓋優先于所有其他類型的覆蓋。下面是一些在使用 node-config 時不能用作環境變量的保留字,因為庫提供了它們的實現,可能會與您的實現沖突。

  1. get 
  2. has 
  3. util 
  4. getConfigSources 
  5. makeHidden 
  6. makeImmutable 
  7. setModuleDefaults 
  8. watch  
  9. _attachProtoDeep 
  10. _cloneDeep 
  11. _diffDeep 

這不是一個詳盡的列表,所以一定要查看文檔。

有一些插件可以讓你高效地使用 node-config 和 Docker 來管理密鑰,一個插件可以讓你自動重新加載 node-config[2](你可能已經知道,配置不會在文件更改時自動加載),以及允許您取消緩存您的配置(uncache your config)[3]變量的插件。

總結

使用 node-config 時,有無數種方法可以配置您的 Node 應用程序。有了它,您可以輕松管理您的配置文件并根據需要擴展它們,從而在您的項目中實現最大的靈活性、可靠性和一致性。謝謝閱讀。

原文:https://blog.logrocket.com/creating-configuration-files-node-js-using-node-config/

參考資料

[1]node-config: https://github.com/lorenwest/node-config

[2]重新加載 node-config: https://github.com/MrBoolean/node-config-uncached

[3]取消緩存您的配置(uncache your config): https://www.npmjs.com/package/config-reloadable

本文轉載自微信公眾號「前端全棧開發者」,可以通過以下二維碼關注。轉載本文請聯系前端全棧開發者公眾號。

 

責任編輯:武曉燕 來源: 前端全棧開發者
相關推薦

2021-08-20 09:00:00

Node.js開發API

2014-03-07 13:43:32

Node.jsNode

2020-12-08 06:28:47

Node.js異步迭代器

2013-11-01 09:34:56

Node.js技術

2021-07-26 05:24:59

Node.js SO_RESUEPORLibuv

2015-03-10 10:59:18

Node.js開發指南基礎介紹

2021-12-01 00:05:03

Js應用Ebpf

2022-08-28 16:30:34

Node.jsDocker指令

2011-09-08 14:16:12

Node.js

2023-01-10 14:11:26

2017-03-20 13:43:51

Node.js內存泄漏

2017-03-19 16:40:28

漏洞Node.js內存泄漏

2021-07-03 17:43:03

Node.jsNode變量

2011-11-01 10:30:36

Node.js

2011-09-08 13:46:14

node.js

2011-09-02 14:47:48

Node

2011-09-09 14:23:13

Node.js

2012-10-24 14:56:30

IBMdw

2011-11-10 08:55:00

Node.js

2017-04-10 13:28:32

Node.jsJavaScript
點贊
收藏

51CTO技術棧公眾號

久久综合视频网| 中文字幕在线中文字幕在线中三区| 亚洲图色一区二区三区| 亚洲靠逼com| 加勒比在线一区二区三区观看| 亚洲视频重口味| 亚洲大奶少妇| 日本高清不卡一区| 天堂а√在线中文在线| 嫩草在线播放| 国产在线精品不卡| 97视频网站入口| 国产精品1区2区3区4区| 国产成人在线中文字幕| 黄色在线小视频| 国内久久精品视频| 欧美自拍视频在线观看| 在线观看黄网址| 免费一区二区| 精品国产精品一区二区夜夜嗨| 午夜探花在线观看| 五月天婷婷在线播放| 强制高潮抽搐sm调教高h| 99tv成人影院| 色欧美片视频在线观看在线视频| 国产一区二区三区四区五区在线 | 永久免费网站视频在线观看| 日中文字幕在线| 国产成人在线影院| 国产精品视频男人的天堂| 国产午夜激情视频| 亚洲女同另类| 日韩视频在线一区| 免费一级黄色录像| 欧洲专线二区三区| 亚洲精品www| 波多野结衣三级视频| a一区二区三区亚洲| 一本到不卡精品视频在线观看| 欧美日韩一区二| 欧美自拍第一页| 国产精品亚洲一区二区三区妖精| 欧美精品videossex88| 糖心vlog免费在线观看| 欧美日韩激情| 亚洲人成电影网站色…| 一区二区不卡免费视频| 欧美激情影院| 亚洲精品久久视频| 国产激情视频网站| 欧美人妖视频| 日韩精品电影网| 日本丰满少妇裸体自慰 | 91精品久久久久久蜜桃| 国产又大又长又粗| 狠狠色狠狠色综合系列| 国产在线999| 国产乱子伦精品无码码专区| 日本中文字幕不卡| 国产成人综合亚洲| 自拍偷拍色综合| 蜜桃av噜噜一区二区三区小说| 欧美另类在线观看| 国产真人真事毛片| 国产日韩欧美三级| 日本亚洲欧洲色α| 秋霞av一区二区三区| 日韩黄色一级片| 国产精品久久久91| 国产又粗又猛又爽又黄91| 国产主播一区二区| 成人免费看片网址| 污视频网站在线播放| 久久九九全国免费| 中文字幕一区二区三区乱码| 国产精品va在线观看视色| 亚洲一区二区三区四区在线免费观看 | 精品人妻一区二区三区潮喷在线 | 中文字幕xxxx| 免费一级片91| 51国产成人精品午夜福中文下载| 国产成人精品777777| 日本亚洲欧美天堂免费| 91亚洲人电影| 无码精品人妻一区二区| 久久久99免费| 8x8ⅹ国产精品一区二区二区| 成人免费在线观看| 亚洲日本一区二区| 久久久久久久午夜| 成人在线免费| 欧美大片一区二区| 国产美女喷水视频| 婷婷精品进入| 8x海外华人永久免费日韩内陆视频| 国产av 一区二区三区| 日韩午夜精品| 成人a免费视频| 亚洲欧洲精品视频| 亚洲视频中文字幕| 欧美精品99久久| 国产精品美女久久久久| 亚洲精品按摩视频| 国产成人av免费在线观看| 亚洲小说欧美另类社区| 国产精品美乳在线观看| 黄色av中文字幕| 国产精品福利一区二区三区| 黄色一级视频在线播放| 日本欧美在线| 亚洲女人初尝黑人巨大| 免费一级全黄少妇性色生活片| 国产精品91在线| 大陆av在线播放| 范冰冰一级做a爰片久久毛片| 吞精囗交69激情欧美| 精品日本美女福利在线观看| 天天爽人人爽夜夜爽| 国产精品tv| 久久久av一区| 羞羞色院91蜜桃| 久久色视频免费观看| 欧美乱做爰xxxⅹ久久久| 男人亚洲天堂| 中文字幕国产亚洲2019| 男女视频免费看| 国产成人精品综合在线观看| 中文字幕日韩精品一区二区| 日本一区二区电影| 欧美激情国产精品日韩| 精品国产亚洲日本| 尤物九九久久国产精品的特点 | 国产伦精品一区二区三区免费迷| 成人国产在线视频| 每日更新在线观看av| 一区二区欧美国产| 最新av免费在线观看| 欧美va久久久噜噜噜久久| 日韩免费精品视频| 精品视频一二区| 色成年激情久久综合| 三级网站在线免费观看| 久久不射2019中文字幕| 精选一区二区三区四区五区| caoprom在线| 欧美mv日韩mv国产| 国产专区一区| 亚洲精品欧美日韩专区| 欧美jizz18hd性欧美| 欧美性感一区二区三区| 超碰人人人人人人人| 日韩精品1区2区3区| 日韩jizzz| 欧美三级精品| 在线电影中文日韩| 亚洲一区二区人妻| 亚洲人亚洲人成电影网站色| 久久精品国产亚洲a| 国产精品香蕉国产| 大地资源中文在线观看免费版 | 日韩影视一区二区三区| 久久综合图片| 日本不卡二区高清三区| 精品视频在线一区二区在线| 在线视频免费一区二区| 夜夜嗨av禁果av粉嫩avhd| 中文字幕亚洲一区二区va在线| 国产精品网站免费| 精品人人人人| 日韩美女免费视频| 午夜老司机在线观看| 91精品国产综合久久久久久漫画| 国产精品815.cc红桃| 久久国产精品99国产| 日本视频一区二区在线观看| 精品视频一区二区三区四区五区| 亚洲国产精品大全| 无码人妻丰满熟妇区五十路| 国产精品美女久久久久久 | 日韩av一区二区三区| 亚洲啪啪av| 欧美一级片网址| 午夜精品美女自拍福到在线| 悠悠资源网久久精品| 在线观看日韩电影| 东京热无码av男人的天堂| 激情文学综合插| 亚洲 欧美 综合 另类 中字| 希岛爱理av免费一区二区| 国产精品永久免费在线| 色呦呦网站在线观看| 亚洲欧美中文日韩在线| 国产免费av观看| 欧美日韩亚洲一区二区三区| 欧美性猛交xxxx乱大交少妇| 成人性生交大片免费看中文| 7777精品伊人久久久大香线蕉 | 97碰在线观看| 国产在线超碰| 日韩精品中文字幕一区二区三区 | 亚洲最大福利视频网站| 三级中文字幕在线观看| 日韩中文字幕在线播放| 好男人在线视频www| 欧美亚洲一区二区在线观看| 18精品爽视频在线观看| 国产精品嫩草影院av蜜臀| 99精品一区二区三区无码吞精| 影音先锋日韩精品| 欧美伦理一区二区| 视频国产精品| 国产一区二区在线免费| 92国产精品| 久久久久久久久久国产| h视频网站在线观看| 亚洲黄色av网站| 国产探花精品一区二区| 欧洲一区在线观看| 国内精品福利视频| 亚洲高清免费观看| 男人的天堂久久久| 中文字幕一区二区三区不卡 | 激情深爱综合网| 99久久99久久精品国产片桃花 | 国产va免费精品观看精品视频| 欧美一级大胆视频| 美足av综合网| 久久影视电视剧免费网站| 国产中文字幕在线看| 亚洲国产日韩欧美在线动漫 | 99爱在线视频| 深夜福利日韩在线看| 天堂在线中文视频| 欧美极品免费| 超薄丝袜一区二区| 最新电影电视剧在线观看免费观看| 91久久奴性调教| 国产一区二区99| 亚洲福利视频导航| 精品午夜福利在线观看| 亚洲天堂a在线| 国产精品 欧美激情| 自拍偷拍欧美激情| 精品自拍偷拍视频| 亚洲欧美国产三级| 国产精品成人69xxx免费视频| 99久久国产免费看| 亚洲色图欧美另类| 成人免费av资源| 国产一级免费片| 91亚洲精品久久久蜜桃| 李宗瑞91在线正在播放| 久久亚洲一区二区三区四区| 中文字幕在线观看网址| 久久综合一区二区| 阿v天堂2014| 国产精品无圣光一区二区| 又嫩又硬又黄又爽的视频| 国产精品毛片大码女人| 日本爱爱小视频| 亚洲精品成人少妇| 日韩视频免费观看高清| 欧美午夜无遮挡| 奴色虐av一区二区三区| 欧美午夜精品电影| 国产三级小视频| 欧美精品一区二区三区在线| 色丁香婷婷综合久久| 亚洲欧美综合v| 天堂资源在线中文| 欧美成人在线影院| 成人黄色动漫| 国产脚交av在线一区二区| 蜜桃视频在线观看播放| 欧美精品一二三区| 国产精品毛片一区二区在线看舒淇 | 免费观看中文字幕| 亚洲激情中文在线| 国产毛片久久久久久国产毛片| re久久精品视频| 一本一道久久a久久综合精品| 亚洲调教一区| 一区二区高清视频| 好吊视频一区二区三区四区| 一本大道熟女人妻中文字幕在线| 国产一区二区中文| 国产淫片av片久久久久久| 久久国产日韩欧美精品| 91人妻一区二区| 国产三区在线成人av| 国产女人被狂躁到高潮小说| 福利视频第一区| 亚洲一区 中文字幕| 精品国产一区久久| 97超碰国产一区二区三区| 欧美激情亚洲自拍| 国产精品99| 精品无人区一区二区三区| 99久久99久久精品国产片果冰| 一本一本a久久| 国产亚洲精品v| 欧美性受xxxxxx黑人xyx性爽| 老司机精品视频一区二区三区| 亚洲爆乳无码专区| 国产馆精品极品| 91精品久久久久久久久久久久| 久久久亚洲午夜电影| 老湿机69福利| 91国产免费观看| 色呦呦中文字幕| 欧美精品一二区| 成人四虎影院| 麻豆久久久9性大片| 欧美日韩a区| 在线能看的av网站| 久久久精品中文字幕麻豆发布| 久久成人激情视频| 亚洲综合色在线| 91 中文字幕| 国产亚洲欧洲在线| 欧美大胆a人体大胆做受| 亚洲综合在线做性| 久久一区二区三区电影| 99精品视频播放| 久久综合色一综合色88| 久久中文字幕在线观看| 欧美一区二区三区在线| h视频在线免费| 国产精品欧美亚洲777777| 中文字幕中文字幕精品| 欧美一级片免费播放| 懂色中文一区二区在线播放| 成人免费视频国产免费观看| 欧美日本韩国一区二区三区视频| www.五月激情| 欧美精品在线观看91| 国产亚洲精aa在线看| 一区二区三区国产福利| 日本va欧美va精品| 美国黄色特级片| 欧美在线免费观看亚洲| 韩国三级在线观看久| 国产成人在线精品| 最新亚洲精品| 精品视频一区二区在线| 久久免费的精品国产v∧| 国产午夜免费福利| 亚洲精品资源美女情侣酒店| 操人视频在线观看欧美| 国产女人18毛片水真多| 在线观看视频亚洲| 亚洲成av在线| 日本三级中国三级99人妇网站| 日韩欧美综合| 成人免费在线观看视频网站| 欧美激情中文字幕| 在线播放亚洲精品| 久久综合色88| 偷偷操不一样的久久| 欧美一区二区视频在线观看| 欧美r级在线| 91视频99| 99精品视频免费| 亚洲精品乱码久久久久久久久久久久| 成人免费在线播放视频| 一区二区三区免费在线视频| 久久精品国产sm调教网站演员| 成人午夜大片| 亚洲爆乳无码精品aaa片蜜桃| 99成人在线| 野外性满足hd| 在线观看亚洲a| 麻豆视频在线观看免费网站| 日韩精品久久久| 日韩精品亚洲一区| 亚洲黄色网址大全| 91精品婷婷国产综合久久性色| 成人av免费播放| 97人人做人人爱| 视频精品在线观看| www.国产福利| 午夜视频在线观看一区二区三区 | 加勒比一区二区三区在线| 欧美激情一区不卡| 国产视频一二三四区| 久久久久久久网站| 欧美裸体在线版观看完整版| 亚洲欧美天堂在线| 精品久久久久久久久久久| avtt亚洲| 国产精品一国产精品最新章节| 亚洲h色精品| 男女一区二区三区| 欧美日韩一区二区三区高清| 日本乱理伦在线| 视频一区二区三区在线观看| 国产成人午夜视频| 日韩一级在线视频| 一区二区三区视频播放| 一本大道东京热无码aⅴ|