Express - RestfulAPI 起手教學 2
上次我們介紹如何利用 Express 快速建立了 web server,這次要來介紹開發 Express 好用的一些工具。
介紹 nodemon
nodemon 套件能夠自動化的重啟 Node.js 所創立的 application。意思就是,每次我們修改程式碼的時候,我們總要重新 run 程式,才會有我們想要看到的結果。而 nodemon 套件正是能夠幫我們自動化的重啟程式,不須手動去做重啟的動作,這樣可以幫助我們提升開發效率。對於 Web 專案,這種工具是很常見的,在各大語言的 Web 框架皆有類似的工具。
安裝 nodemon
在我們 node-rest-shop 專案底下,開啟 terminal 輸入以下指令:
1 | npm install --save-dev nodemon |
–save-dev 的意思代表此套件只存在開發階段,有些時候一些好用的工具套件我們只需在開發階段使用即可,未來將專案 deploy 到開發環境的時候,並不需要此套件。
使用 nodemon
在 package.json 中裡面有個參數是 script,這代表我們可以在裡面輸入一些指令,例如開啟專案入口點。以我們現在專案為例,我們新增以下指令:
1 | "start": "nodemon app.js" |
利用 nodemon 去執行 app.js,就能達到自動重啟功能!要啟用這項指令,我們可以在 terminal 輸入以下指令:
1 | npm run start |
就能開啟我們的專案入口點,app.js。
看到以上訊息,就代表我們成功使用 nodemon 去啟動我們的專案,而只要我們有任何修改程式碼的動作,只要有進行存檔,nodemon 就會立刻讓專案重啟,而不需讓我們手動去重啟。
介紹 dotenv
dotenv 套件,能夠幫助我們自動 load 環境變數,而不用我們在程式碼裡面去用程式控制環境變數。通常 web 專案裡面會定義到的環境變數不外乎是 port、database url 等等。只要是一些固定的值,而這些值又會在專案裡面不同程式檔案中用到,又或者是這些值是相對私密的,不允許公開在 code 裡面。dotenv 套件就是透過讀取.env 檔案,來 load 環境變數,因此我們只要創建.env 檔案在裡面定義這些環境變數的值,並在程式碼中載入 dotenv 套件,它就能幫我們自動載入這些環境變數供程式使用。
安裝 dotenv
在我們 node-rest-shop 專案下,開啟 terminal 輸入以下指令:
1 | npm install dotenv |
使用 dotenv
首先在專案下,創建.env
檔案,該檔案裡面可以定義環境變數,其定義格式為 NAME=VALUE
,因為目前專案還太小,但 port 可以當作環境變數,因為在開發專案的時候要是 port 要更換,我們還要去 code 裡面尋找 port 變數定義在哪裡太麻煩了。因此將 port 環境變數定義為 3000:
1 | PORT=3000 |
通常像這種環境變數的名稱,慣例上會以全大寫來命名,多個單字的話就用底線來連接。
接著我們在 app.js 最上面加入以下 code:
1 | require('dotenv').config() |
config函數裡面可放option參數
,其中 option
裡面可以放置 custom 的環境變數檔案路徑。若沒添加,則預設讀取專案根目錄的.env 檔案。當執行以上 code,就會自動將環境變數 assign 給 process.env
。也就是當我們在程式碼裡面想要讀取環境變數 PORT 的值,我們只需要這樣讀取:
1 | const port = process.env.PORT |
port 之值就會對應到.env 檔案所定義的值。
總結
今天我們加入了 nodemon 及 dotenv 兩個實用套件,app.js 內容更改如下:
1 | require('dotenv').config(); |
package.json 如下:
1 | { |
.env
1 | PORT=3000 |
詳細內容可參考 Github Source Code:https://github.com/KennyChenFight/node-rest-shop/tree/section2
最後最後!請聽我一言!
如果你還沒有註冊 Like Coin,你可以在文章最下方看到 Like 的按鈕,點下去後即可申請帳號,透過申請帳號後可以幫我的文章按下 Like,而 Like 最多可以點五次,而你不用付出任何一塊錢,就能給我寫這篇文章的最大的回饋!