代码之家  ›  专栏  ›  技术社区  ›  Daniel Danielecki

如何从Firebase的.env文件中读取环境变量?

  •  0
  • Daniel Danielecki  · 技术社区  · 4 年前

    存储环境变量的最简单的多格式方法是使用 .env

    现在,我面临的问题与Firebase有关,更确切地说,是Firebase的云函数。对于通过访问的所有环境变量 process.env.SOME_VARIABLE 我得到了 undefined ,直到复制时为止 文件到我的部署文件夹。在这种情况下,它是默认的 functions ,只有这样才能起作用。

    问题是:有没有办法不复制 文件?在我所有的( Angular 具有 Angular Universal )应用程序我可以访问 process.env.SOME_变量 ,不包括后端逻辑,后者100%依赖函数。

    console.log(require('dotenv').config({ debug: true }));
    

    workspace/.env Firebase 的日志,但不能用它做任何事。

    我的一些试验:

    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') });
    

    总是给我 未定义 ,除非 .env文件 功能 文件夹。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Doug Stevenson    4 年前

    Firebase CLI在部署时部署functions文件夹中的所有内容,除了node\u模块。如果它不在其中进行部署,那么您将无法在不离开主机到远程网络位置的情况下读取它。目前无法在其他位置的文件中合并CLI。你可以试试符号链接。

    除非.env被手动复制到deployable functions文件夹。

    你可能要做的就是结束这一切。