【问题标题】:How to properly deploy a ReactJS frontend with a NodeJS backend on firebase如何在 Firebase 上正确部署带有 NodeJS 后端的 ReactJS 前端
【发布时间】:2020-08-12 21:42:44
【问题描述】:

为了学习 ReactJS 和 Firebase,我使用这些技术创建了一个网络应用程序。

但我没有在网络上发布这个应用程序,因为由于 react 是一个前端库,我们可以看到包含我的 firebase 信息的代码。

现在我已经学习了 NodeJS,我想在我的后端应用程序上实现它并在 firebase 上发布,但我不知道如何在 firebase 上同时使用 React Nodejs 发布应用程序。

我唯一的想法是运行npm build 命令,将build 文件夹的内容放在我的Nodejs 项目的view 文件夹中,然后将主页重定向到我的React 索引,如下所示:

app.get('/', (req, res) => {
  res.render('view/index');
});

并像 nodeJS 项目一样在 firebase 上发布。

我认为这是一个很好的解决方案,但我想确定并知道是否存在更好的解决方案,因为我想使用最佳实践,并在每次前端更新后移动构建内容...(我不如果我不知道之后如何发布,想重新启动我的所有后端)

【问题讨论】:

  • 您的问题有点过于宽泛,因为您可以做很多事情,可以使用不同的库等,例如improving your server to handle a React app by default 或自动执行某种构建步骤来移动文件周围。
  • @EmileBergeron 好的,所以有一些方法可以自动化,但如果没有,我在我的问题中提出的解决方案会起作用,不是吗?

标签: javascript node.js reactjs firebase


【解决方案1】:

这并不完全清楚,但听起来您在问如何使用无服务器 Firebase 功能作为您的 react 项目的后端。

为此,您只需创建一个 HTTPS 函数,作为前端发送数据的端点,然后处理并发回、记录或与数据库交互等。

设置 HTTPS 函数很简单:您在目录中运行 firebase init,当询问要初始化什么时选择“函数”,然后 CLI 将为您的项目生成必要的文件。

在 index.js 文件中,为函数编写 node.js 代码,然后从同一目录运行 firebase deploy

然后您的端点将处于活动状态,它可以使用您发送给它的任何请求。有关更多信息,请参阅 Firebase 函数的官方文档。

。参考资料:

https://firebase.google.com/docs/cli#initialize_a_firebase_project

https://firebase.google.com/docs/functions/get-started

【讨论】:

  • 对不起,如果不完全清楚,可能是因为我的英语不好^^'所以如果我按照你说的那样使用函数,我可以在 Firebase 上部署我的 nodeJS 项目,但是之后,我该如何部署我的 reactJS 项目没有覆盖 nodejs 文件?如果在完成我的 reactJS 之后构建它,我将构建文件夹移动到 nodeJS 项目,然后我重定向到 react 索引(在 nodeJS 文件中)它会工作吗?
  • github.com/firebase/functions-samples 尝试一个示例,没有任何内容被覆盖
猜你喜欢
  • 2018-04-21
  • 2019-10-10
  • 2021-01-11
  • 2021-11-21
  • 2022-11-04
  • 2019-09-25
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
相关资源
最近更新 更多