【发布时间】:2021-03-12 18:55:35
【问题描述】:
存储环境变量的最简单、多平台的方法是在我们项目的根目录中使用.env 文件。
现在,我面临的问题与 Firebase 相关,更准确地说是 Firebase 的 Cloud Functions。对于通过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 文件夹中。
【问题讨论】:
标签: javascript node.js firebase google-cloud-functions dotenv