1 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
如前所述,您可以將要作為靜態(tài)站點(diǎn)的一部分包含的變量添加到 Netlify 的環(huán)境變量中。這使它們遠(yuǎn)離Git存儲(chǔ)庫(kù)。
棘手的部分是將這些變量從Netlify構(gòu)建環(huán)境中取出并放入您的源代碼中。您至少有兩個(gè)不同的選項(xiàng),具體取決于變量的敏感程度:
如果你不希望你的變量被簽入 Git,但你可以將它們嵌入到你的公共 Javascript/HTML 文件中(Google Maps API 密鑰可能屬于這一類),你可以使用像 Webpack 這樣的構(gòu)建工具將環(huán)境變量注入到源代碼中。如果你使用的是 React 或其他框架,他們通常有辦法包含構(gòu)建環(huán)境中的環(huán)境變量。如果不是,則可能只需要編寫(xiě)自定義生成腳本或利用預(yù)構(gòu)建的 NPM 包在生成時(shí)將小包注入到 HTML 頁(yè)面中。實(shí)際上,看起來(lái)Netlify可以在您的頁(yè)面中注入一些自定義腳本。也許你可以試試。
<script>var myVar = "<myEnvironmentVariableValue>";</script>
如果您的變量更敏感,并且您不希望它們公開(kāi),則需要添加實(shí)際的服務(wù)器端組件。這可能與無(wú)服務(wù)器API或標(biāo)準(zhǔn)單調(diào)Web服務(wù)器一樣花哨。然后,當(dāng)您的前端需要此秘密變量時(shí),它會(huì)連接到服務(wù)器并請(qǐng)求它,大概是從您網(wǎng)站的經(jīng)過(guò)身份驗(yàn)證的部分。這樣可以將變量排除在公共HTML / JS之外,但仍然允許您的網(wǎng)站按需訪問(wèn)它們。
添加回答
舉報(bào)