我的Cloud Functions中有两个部署目标。我使用命令行来确定我部署的项目。 firebase use myTestApp
或firebase use myLiveApp
我可以告诉我在index.js代码中使用的目标吗?
我希望有类似的东西
// change baseURLs and other keys
if (Target == live) {
const baseURL = 'myLiveApp';
const stripekey= 'secreteLivekey';
} else {
const baseURL = 'myTestApp';
const stripekey= 'secreteTestkey';
};
目前我通过评论测试或实时密钥来解决这个问题,这非常烦人且很容易出错。
答案 0 :(得分:1)
您可以在每个项目的功能配置中设置必要的变量。
CLI:
firebase use <live_project>
firebase functions:config:set stripe.key="secreteLivekey"
firebase functions:config:set baseURL="myLiveApp"
firebase use <non_live_project>
firebase functions:config:set stripe.key="secreteTestkey"
firebase functions:config:set baseURL="myTestApp"
在代码中:
import * as functions from 'firebase-functions'
const baseURL = functions.config().baseURL
const stripekey = functions.config().stripe.key
编辑:
由于你的问题在技术上是“你能知道你的部署目标吗?”,答案是肯定的。
const config = JSON.parse(process.env.FIREBASE_CONFIG)
const projectId = config.projectId