/ Front-End & Back-End

【 Node.js 】利用 .env 與環境變數隱藏敏感資訊

內容

  • 學習目標
  • 前置準備作業
  • 專案初始化
  • dotenv 套件應用

學習目標

  • 透過 dotenv 套件來隱藏敏感資訊

前置準備作業


專案初始化

Step 1. 建立專案目錄

  • 建立名為 dotenvSample 的專案目錄
    • 本範例在桌面建立 dotenvSample 的專案目錄
      -----2019-08-07---1.40.38
    • dotenvSample 專案目錄內尚未有檔案
      -----2019-08-07---1.26.11

Step 2. 開啟專案目錄

  • 開啟 Visual Studio Code

    -----2019-08-07---1.24.04

  • 開啟 dotenvSample 專案

    • 點選左上角的 Explorer
      -----2019-08-07---1.29.40
    • 點選 Open Folder
      -----2019-08-07---1.30.5811
    • 點選 dotenvSample 再按右下的 打開
      -----2019-08-07---1.42.28
    • 開啟專案後的畫面
      -----2019-08-07---1.45.07

Step 3. 專案初始化

  • 點選 Terminal
    -----2019-08-07---1.49.55

  • 點選 New Terminal
    -----2019-08-07---1.50.05

  • Terminal 出現於右下方區域
    -----2019-08-07---1.50.17

  • Terminal 區域輸入下方指令

    npm init -y
    

    -----2019-08-07---1.53.35

  • 指令執行完畫面
    -----2019-08-07---1.54.13


dotenv 套件應用

Step 1. 建立 index.js 檔案

  • 點選下圖中紅色圖示以建立檔案
    -----2019-08-07---1.59.02
  • 顯示檔名輸入框
    -----2019-08-07---2.00.32
  • 輸入 index.js 檔名
    -----2019-08-07---2.00.45
  • index.js 建立完畫面
    -----2019-08-07---2.01.13

Step 2. 在 index.js 檔案中建立下方程式

  • 說明
行數 功用
第 1 行 引用 dotenv 套件
第 3 行 讀取 .env 檔中,Key 為 DB_HOST 的值
第 4 行 讀取 .env 檔中,Key 為 DB_PORT 的值
第 5 行 讀取 .env 檔中,Key 為 DB_USER 的值
第 6 行 讀取 .env 檔中,Key 為 DB_PWD 的值

Step 3. 建立 .env 檔案

  • 點選下圖中紅色圖示以建立檔案
    -----2019-08-07---2.15.28
  • 顯示檔名輸入框
    -----2019-08-07---2.16.53
  • 輸入 .env 檔名
    -----2019-08-07---2.17.05
  • .env 建立完畫面
    -----2019-08-07---2.17.19

Step 4. 在 .env 檔案中建立下方程式

  • 說明
行數 功用
第 1 行 設定 Key 為 DB_HOST,其值為 127.0.0.1
第 2 行 設定 Key 為 DB_PORT,其值為 3000
第 3 行 設定 Key 為 DB_USER,其值為 test
第 4 行 設定 Key 為 DB_PWD,其值為 7533967

Step 5. 安裝 dotenv 套件

  • Terminal 輸入下方指令
    npm install dotenv
    
    -----2019-08-07---2.22.58
  • 執行完畫面
    -----2019-08-07---2.24.03

Step 6. 執行程式

  • Terminal 區域輸入下方指令
    node index.js
    
    -----2019-08-07---2.25.38
  • 顯示結果
    -----2019-08-07---2.26.06

Reference
GitHub
List of blogs
Archer

Archer

Having being a software engineer. Experience with Python, JavaScript, Objective-C, Micro:bit, LinkIt 7697, Raspberry Pi, AWS, Azure, IoT. ❆ [email protected] https://oranwind.org/author/archer/

Read More