- Published on
Next.js 環境變數設定大冒險!
你是否曾經為了在不同環境中管理各種設定而頭痛不已?
別擔心,Next.js 和 Cloudflare Pages 來拯救你了!
讓我們一起來探索如何輕鬆駕馭環境變數的世界吧!
Next.js 中的環境變數魔法
在 Next.js 中,環境變數就像是隱藏在帽子裡的兔子,隨時準備跳出來幫助你!
以下是如何使用這個魔法的步驟:
創建一個神奇的
.env
文件:API_KEY=abracadabra123 DATABASE_URL=mysql://username:password@localhost:3306/my_db
在你的 Next.js 代碼中,使用
process.env
來召喚這些變數:const apiKey = process.env.API_KEY const dbUrl = process.env.DATABASE_URL console.log(`我的神奇 API 鑰匙是:${apiKey}`)
如果你想要在瀏覽器中使用環境變數,記得加上
NEXT_PUBLIC_
前綴:NEXT_PUBLIC_WEBSITE_NAME=我的超酷網站
然後你就可以在任何地方使用它了:
const siteName = process.env.NEXT_PUBLIC_WEBSITE_NAME
環境變數的多重宇宙
Next.js 允許你為不同的環境創建專屬的設定檔,就像是打開了平行宇宙的大門!
.env.local
:本地開發環境的秘密基地.env.development
:開發環境的專屬領地.env.production
:生產環境的堅固堡壘
Next.js 會自動根據你的運行環境選擇正確的設定檔,就像是有了一個聰明的管家!
Cloudflare Pages 上的環境變數派對
在 Cloudflare Pages 上設定環境變數就像是在雲端開派對,簡單又有趣!
- 登入 Cloudflare 儀表板,進入到你的 Pages 專案,點擊
設定
,然後選擇環境變數
- 點擊
新增變數
按鈕,就可以輸入你的變數名稱和值,填完後點擊加密
按鈕
注意畫面上的提示,在 dashboard 中,所有的環境變數都是
加密變數
,其它的可以放在wrangler.toml
,它就不是加密的了
另外,要注意的是,設定後要等到下次 deploy 才會生效
- 加密後,畫面上就會提示你,儲存後就看不到這個變數值了,要注意
- 儲存後,變數值就變成
Value encrypted
了,就算按編輯變數
也看不到,只有刪除的功能
- 可以比較一下,dashboard 新增環境變數的前後,在
部署詳細資料
頁面中的差異
- 另外一個比較
雷奇怪的地方是,如果環境變數是在瀏覽器中使用 (也就是有NEXT_PUBLIC_
前綴的),在 deploy 時,Cloudflare
會自動把.env
裡面的環境變數,在畫面上換成固定的值 ...
不確定這個行為到底是
Next.js
的問題,還是Cloudflare
的問題,這裡我試了蠻久的
更深入的 Cloudflare Pages
設定,可以參考 Cloudflare Pages Configuration 官方文件
結語
透過這些簡單的步驟,你就可以輕鬆管理 Next.js 應用的環境變數,並在 Cloudflare Pages 上部署時使用它們。
環境變數不再是可怕的怪獸,而是你的得力助手!現在,去征服那些配置難題吧,勇敢的開發者!
圖片來源:AI 產生