我正在运行Firebase函数项目的更新。
使用运行时环境配置(functions.config(管理环境变量。关于Firebase文档中推荐的方法,我选择使用dotenv文件格式的基于文件的环境变量配置。
1-我运行了firebase functions:config:export
在functions/
文件夹中创建了4个dotenv文件。.env.default
.env.
.env.dev
.env.local
.env文件:
# Exported firebase functions:config:export command on 24/02/2022`
MAILJET_KEY="XXXX"
MAILJET_SECRET="XXXX"
STRAVA_SECRET="XXXX"
STRAVA_ID="XXXX"
2-我更新了源代码来管理process.env.MY_VARIABLE
const mailjet = require('node-mailjet').connect(process.env.MAILJET_KEY, process.env.MAILJET_SECRET);
3-我运行了npm run serve
或部署了函数,但process.env.MY_VARIABLE
返回了未定义的
Error: Mailjet API_KEY is required
**我是否运行一个特殊的程序从functions.config迁移到process.env???**
注意:我最近在一个新项目中管理了process.env
,它运行得很好
Thx
迁移后我的问题是process.env
在初始模拟器启动时没有准备好。参考编号:https://github.com/firebase/firebase-tools/issues/4239#issuecomment-1063763689
functions/index.js:
import * as functions from "firebase-functions";
import * as callable from "./callables";
// Not possible
export const someFunction = someFunctionInit(process.env.APP_ENV);
所以我需要在函数本身中移动进程.env的使用