2022 第14週 學習筆記:使用 superstruct 驗證 process.env 資料

總結

使用 create-react-app 建立 React APP 並執行 npm run eject 後,在 config 資料夾內的 env.js 會協助處理 .env 中帶有 REACT_APP_ 關鍵字的環境變數,讓開發者可以在 React APP 中讀取 process.env 內容;而如果開發者想要檢驗 process.env 的 schema 並將環境變數由字串型態轉變回布林、數值等資料形式的話,可以搭配 npm package superstruct 來實現

目前未解明:為何投入 webpack.DefinePlugin 後「沒有 REACT_APP_ 前綴的環境變數」依舊可以保留字串以外的資料型態 🤔

版本與環境

superstruct: 0.15.4
webpack: 5.64.4

筆記

使用 superstruct 的優點

實作想法梳理

原始碼

示範專案 repo:https://github.com/tzynwang/react-process-env/tree/feature/superstruct

參考文件