首頁 web前端 js教程 使用Node如何設定檔(詳細教學)

使用Node如何設定檔(詳細教學)

Jun 14, 2018 am 11:34 AM
node nodejs 設定檔

這篇文章主要給大家介紹了關於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即可。

上面是我整理給大家的,希望今後對大家有幫助。

相關文章:

詳細解讀React Native Flexbox佈局

在vue單一檔案中有關引用路徑有哪些方法?

詳細介紹weex中的webpack.config.js改造

#

以上是使用Node如何設定檔(詳細教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1653
14
CakePHP 教程
1413
52
Laravel 教程
1304
25
PHP教程
1251
29
C# 教程
1224
24
nodejs是後端框架嗎 nodejs是後端框架嗎 Apr 21, 2024 am 05:09 AM

Node.js 可作為後端框架使用,因為它提供高效能、可擴展性、跨平台支援、豐富的生態系統和易於開發等功能。

nodejs怎麼連接mysql資料庫 nodejs怎麼連接mysql資料庫 Apr 21, 2024 am 06:13 AM

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

nodejs中的全域變數有哪些 nodejs中的全域變數有哪些 Apr 21, 2024 am 04:54 AM

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

nodejs安裝目錄裡的npm與npm.cmd檔有什麼差別 nodejs安裝目錄裡的npm與npm.cmd檔有什麼差別 Apr 21, 2024 am 05:18 AM

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

Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node? Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node? Mar 05, 2025 pm 05:57 PM

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

win10使用者設定檔在哪? Win10設定使用者設定檔的方法 win10使用者設定檔在哪? Win10設定使用者設定檔的方法 Jun 25, 2024 pm 05:55 PM

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

nodejs和java的差別大嗎 nodejs和java的差別大嗎 Apr 21, 2024 am 06:12 AM

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 適用於大型企業應用程式。

nodejs是後端開發語言嗎 nodejs是後端開發語言嗎 Apr 21, 2024 am 05:09 AM

是的,Node.js 是一種後端開發語言。它用於後端開發,包括處理伺服器端業務邏輯、管理資料庫連接和提供 API。

See all articles