簡體   English   中英

如何從 Firebase 中的 .env 文件中讀取環境變量?

[英]How to read Environmental Variables from .env file in Firebase?

存儲環境變量的最簡單、多平台的方法是在我們項目的根目錄中使用.env文件。

現在,我面臨的問題與 Firebase 相關,更准確地說是 Firebase 的雲函數。 對於通過process.env.SOME_VARIABLE訪問的所有環境變量,我得到undefined ,直到將.env文件復制到我的部署文件夾。 在這種情況下,它是默認的functions ,只有這樣它才能工作。

問題:有沒有辦法在不復制.env文件的情況下這樣做? 在我的所有( AngularAngular 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM