{%hackmd theme-dark %} ###### tags: `nodejs` `env` `環境變數` # nodeJs環境變數設定簡易教學 ## 基礎環境變數使用 1.使用[dotenv](https://www.npmjs.com/package/dotenv)這個套件 2.在app.js中引用如下 ``` javascript= require("dotenv").config({ path: ".env." }); ``` 3.然後在目錄下創建.env檔案 ![image](https://hackmd.io/_uploads/rJOPhKhW0.png) 在內部輸入 TEST="TEST" 4.如何使用環境變數 使用process.env.TEST就可以取得TEST的變數了 在app.js中 ``` javascript= console.log("ENV TEST", process.env.TEST) ``` ![image](https://hackmd.io/_uploads/SJXgpK3-C.png) ## 根據開發環境設定環境變數 1.使用dotenv這個套件 2.在windows環境中使用[cross-env](https://www.npmjs.com/package/cross-env) 3.創建一個.env.dev的檔案,在內部輸入TEST="TEST666" ![image](https://hackmd.io/_uploads/SJ3Ubqh-A.png) 4.在package.json設定運行的scripts 如下圖 ![image](https://hackmd.io/_uploads/rkbJJc2WC.png) 下面scripts的意思是使用cross-env 設定環境變數名稱為dev 並使用nodemon 運行bin內的www,沒有用nodemon這個套件就把nodedmon改成node。 ``` "dev": "cross-env NODE_ENV=dev nodemon ./bin/www", ``` 5.重點來了再app.js中引用dotenv時的path如下 ``` javascript= require("dotenv").config({ path: `.env.${process.env.NODE_ENV}` }); ``` 因為我把NODE_ENV設定成dev利用這點把讀取env的path改成.env.dev 6.使用npm run dev運行 成功的話可以看到下圖 ![image](https://hackmd.io/_uploads/BJvUe92-A.png) ## 參考資料 -[第十五天:專案的初始化 - 拆分環境變數 (feat. process.env、CommonJS)](https://ithelp.ithome.com.tw/articles/10246881?sc=iThomeR) -[Node.js 使用 .env 加上環境變數](https://dwatow.github.io/2019/01-26-node-with-env-first/#fn1)