首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >知道快速应用程序是否作为防火墙云功能运行。

知道快速应用程序是否作为防火墙云功能运行。
EN

Stack Overflow用户
提问于 2018-11-18 12:55:36
回答 4查看 1.1K关注 0票数 4

我有一个特快专递应用程序,我想在本地作为独立服务器运行在我的机器上,但是,当将它部署到firebase云函数时,我需要将它设置为云功能。

有没有可靠的方法可以知道应用程序在哪个环境中运行,而不需要手动设置env变量,或者什么是最佳实践?

例:

代码语言:javascript
运行
复制
if(isRunningInFirebase()){
  exports.myFun=functions.https.onRequest(app)
} else app.listen(3030)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-11-18 13:34:37

有些环境变量在函数运行时和本地模拟函数中自动填充,如文档所示的这里。例如,其中一个是GCLOUD_PROJECT变量,它被设置为Firebase项目ID。

代码语言:javascript
运行
复制
if(process.env.GCLOUD_PROJECT) { 
    // running in Firebase environment 
}
else { 
    // running somewhere else 
}
票数 5
EN

Stack Overflow用户

发布于 2020-07-21 04:26:00

在运行模拟器时,Firebase现在设置FUNCTIONS_EMULATOR环境变量:

代码语言:javascript
运行
复制
if (process.env.FUNCTIONS_EMULATOR === 'true') {
    functions are on localhost
} else {
    functions are on Firebase
}
票数 7
EN

Stack Overflow用户

发布于 2019-05-29 13:04:21

我通过记录process.env进行了一些探索。

当在本地使用firebase函数运行函数时:shell或firebase只提供服务函数,有一堆本地机器类型的节点变量。

运行部署的函数时,位于Firebase函数中。在本地运行时没有设置一个新的节点环境变量:

代码语言:javascript
运行
复制
NODE_ENV: 'production'

因此,要使用它:

代码语言:javascript
运行
复制
if (process.env.NODE_ENV === 'production') { 
    // running in production cloud environment 
} else { 
    // running locally (shell or serve) 
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53361094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档