[英]How to read Environmental Variables from .env file in Firebase?
存儲環境變量的最簡單、多平台的方法是在我們項目的根目錄中使用.env
文件。
現在,我面臨的問題與 Firebase 相關,更准確地說是 Firebase 的雲函數。 對於通過process.env.SOME_VARIABLE
訪問的所有環境變量,我得到undefined
,直到將.env
文件復制到我的部署文件夾。 在這種情況下,它是默認的functions
,只有這樣它才能工作。
問題:有沒有辦法在不復制.env
文件的情況下這樣做? 在我的所有( Angular
和Angular Universal
)應用程序中,我可以訪問process.env.SOME_VARIABLE
,不包括 100% 依賴函數的后端邏輯。
我試圖調試它
console.log(require('dotenv').config({ debug: true }));
在Firebase
的日志中向我返回了類似workspace/.env
的東西,但對此無能為力。
我的一些試驗:
require('dotenv').config({ path: '/workspace/.env' });
require('dotenv').config({ path: join(process.cwd(), '.env') });
require('dotenv').config({ path: join(process.cwd(), './../.env') });
require('dotenv').config({ path: __dirname + './../.env' });
require('dotenv').config({ path: join(process.cwd() + './../.env') });
總是給我undefined
,除非.env
被手動復制到可部署functions
文件夾中。
Firebase CLI 在部署時會部署 functions 文件夾中的所有內容,node_modules 除外。 如果它不在那里進行部署,那么如果不以某種方式脫離主機到遠程網絡位置,您將根本無法閱讀它。 目前無法使 CLI 合並到其他位置的文件中。 你也許可以嘗試一個符號鏈接。
除非將 .env 手動復制到可部署函數文件夾中。
這可能是您最終必須要做的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.