使用Node如何設定檔(詳細教學)
這篇文章主要給大家介紹了關於Node實戰之不同環境下配置文件使用的相關資料,文中透過範例程式碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面一起學習學習吧。
前言
在使用Node.js 寫一個完整的專案時,程式中往往需要用到一些可配置的變量,從而使得程式能在不同的環境中運行,而眾所周知,在實際的專案會存在多個不同的環境,不同的環境下,一些配置是不相同的,如何在不同的環境下調用不同的配置,提高開發效率?下面話不多說了,來一起看看詳細的介紹吧。
1. config-lite模組
先介紹一個設定模組config-lite,使用指令npm i config-lite --save安裝。
通常我們會針對不同的環境,將設定寫入不同的設定檔中,在Node專案下新建config目錄,裡面新建不同環境的設定文件,這裡我以『開發』以及『生產』兩個環境作為例子來講解如何操作。
開發環境中,我們在config目錄下新建兩個文件:test.js和default.js,你可能會問,為啥沒有生產機配置文件,因為生產機配置要在生產環境下再創建嘛。
在test.js設定檔中寫入程式碼如下(PS. 這裡以mysql的配置為例):
// test.js module.exports = { mysql : { host: "localhost", user: "lupeng", password: "080910", database: "b1imd" } };
default.js裡寫入一些預設的設定文件,例如session的配置等。
// default.js module.exports = { mysql : { host: "10.20.141.220", user: "lupeng", password: "123456", database: "b1imd" }, session: { secret: 'keyboard cat', resave: false, saveUninitialized: true, cookie: { maxAge: 1000*60*60 } } };
好了,設定檔寫好了,要如何使用呢?這裡我們使用的config-lite模組,這個模組是依據環境變數來選擇不同的設定檔的,所以在使用之前我們需要修改package.json裡的啟動指令:
"scripts": { "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www", "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www" },
可以看到,上面有兩條啟動指令,一條是針對生產機,設定了NODE_ENV=production
,一條是針對測試機,設定了NODE_ENV=test
,當我們使用npm test啟動專案的時候,config-lite會去抓取test.js配置,會與default.js裡配置去合併,如果有相同的對象,會覆蓋default.js裡的配置。如上例子都有mysql的對象,那麼這裡會以test.js裡的對象為準。
好了,以下來介紹如何在專案中使用config-lite模組,在app.js裡程式碼如下:
// 省略... var config = require('config-lite')(__dirname); // 省略... app.use(session(config.session)); console.log("mysql服务器:" + config.mysql.host); // display mysql-config // 省略...
引入之後,可以直接使用設定檔中的設定對象。
2. 生產環境
那麼在生產環境中,要如何使用呢?上面已經介紹了config-lite基本原理以及用法,在生產環境的時候,我們只需要在生產機環境中config目錄下新建production.js文件,然後使用啟動命令npm start即可。
為了避免測試環境以及生產壞境配置文件混淆,可以透過.gitignore文件忽略配置文件,添加如下:
# config config/* !config/default.*
這樣,git會忽略除了default.js之外的配置文件,在本機開發環境中,可以建立多個設定檔測試使用,只需設定對應的環境變數即可。需要注意的是環境變數名稱需同設定檔名一樣。
3. windows環境
#也許你是多系統環境開發者,可能同時在Linux和windows環境下開發,由於windows下設定環境的變數的語法不太一樣,所以可以在package.json啟動指令中再加上兩句,如下:
"scripts": { "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www", "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www", "winStart": "SET NODE_ENV=production&&supervisor --harmony -i views/ ./bin/www", "winTest": "SET NODE_ENV=test&&supervisor --harmony -i views/ ./bin/www" }
這樣,如果部署在windows環境下,在config目錄下新建production .js設定文件,啟動命令npm winStart;
如果部署在Linux或類別Unix環境下,同樣是建立production.js,啟動命令npm start即可。
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
#以上是使用Node如何設定檔(詳細教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

要連接 MySQL 資料庫,需要遵循以下步驟:安裝 mysql2 驅動程式。使用 mysql2.createConnection() 建立連接對象,其中包含主機位址、連接埠、使用者名稱、密碼和資料庫名稱。使用 connection.query() 執行查詢。最後使用 connection.end() 結束連線。

Node.js 中存在以下全域變數:全域物件:global核心模組:process、console、require執行階段環境變數:__dirname、__filename、__line、__column常數:undefined、null、NaN、Infinity、-Infinity

Node.js 安裝目錄中有兩個與 npm 相關的文件:npm 和 npm.cmd,區別如下:擴展名不同:npm 是可執行文件,npm.cmd 是命令視窗快捷方式。 Windows 使用者:npm.cmd 可以在命令提示字元中使用,npm 只能從命令列執行。相容性:npm.cmd 特定於 Windows 系統,npm 跨平台可用。使用建議:Windows 使用者使用 npm.cmd,其他作業系統使用 npm。

PiNetwork節點詳解及安裝指南本文將詳細介紹PiNetwork生態系統中的關鍵角色——Pi節點,並提供安裝和配置的完整步驟。 Pi節點在PiNetwork區塊鏈測試網推出後,成為眾多先鋒積極參與測試的重要環節,為即將到來的主網發布做準備。如果您還不了解PiNetwork,請參考Pi幣是什麼?上市價格多少? Pi用途、挖礦及安全性分析。什麼是PiNetwork? PiNetwork項目始於2019年,擁有其專屬加密貨幣Pi幣。該項目旨在創建一個人人可參與

最近有不少Win10系統的使用者想要更改使用者設定文件,但不清楚具體如何操作,本文將為大家帶來Win10系統設定使用者設定檔的操作方法吧! Win10如何設定使用者設定檔1、首先,按下「Win+I」鍵開啟設定介面,並點選進入「系統」設定。 2、接著,在打開的介面中,點擊左側的“關於”,再找到並點擊其中的“高級系統設定”。 3、然後,在彈出的視窗中,切換到「」選項欄,並點擊下方「用戶配

Node.js 和 Java 的主要差異在於設計和特性:事件驅動與執行緒驅動:Node.js 基於事件驅動,Java 基於執行緒驅動。單執行緒與多執行緒:Node.js 使用單執行緒事件循環,Java 使用多執行緒架構。執行時間環境:Node.js 在 V8 JavaScript 引擎上運行,而 Java 在 JVM 上運行。語法:Node.js 使用 JavaScript 語法,而 Java 使用 Java 語法。用途:Node.js 適用於 I/O 密集型任務,而 Java 適用於大型企業應用程式。
