上一課知道要分兩套環境。這一課用一個聰明的小東西, 讓同一份程式碼自動連到對的家,順便把你的金鑰藏好、不外洩。
你不會想為了兩個環境,維護兩份幾乎一樣的程式碼。 一份就好,但要讓它「看情況」連到不同的家。怎麼做到?
用你家牆上的插座來想。
這段程式碼把 key 直接寫死了。按 push 上 GitHub 看看。
按一下,把那串 key 從程式碼搬到一個叫 .env 的小檔案。
切換 Dev / Prod,看同一份程式碼怎麼接到不同的資料庫與 key。
.env 不上傳,那 Prod 怎麼知道正式的值?答案:你把正式環境的變數, 直接貼在 Hosting 平台的後台(一個專門放環境變數的設定頁), 不放進程式碼、也不放進 repo。平台會在 Prod 跑的時候,自動把這些值插進去。答錯不會鎖死,可以一直重選。
為什麼 API key 不能直接寫死在程式碼裡?
你想讓同一份程式碼,在測試時連測試資料庫、上線時連正式資料庫。靠什麼?
程式碼裡只留插槽(環境變數),真正的值(資料庫網址、API Key) 放在環境裡:本機放 .env、正式放平台後台,都別進 repo。 一份程式碼,配兩套變數,Dev 與 Prod 自動接到各自的家。