【问题标题】:How to deploy ReactJS frontend and NodeJS/Express backend from the same project folder?如何从同一个项目文件夹部署 ReactJS 前端和 NodeJS/Express 后端?
【发布时间】:2019-10-10 16:08:21
【问题描述】:

GitHub 仓库:https://github.com/byeung2019/MIQSTechnologies

大家好,

这是我第一次在网上部署网站,所以我很困惑和焦虑,甚至不知道从哪里开始。

我的前端是使用 ReactJS 构建的,我的后端使用 NodeJS/Express/GraphQL 从外部 API (CryptoCompare) 获取数据。

我的网站在本地运行。

我的前端和后端都有自己独特的 package.json.env 文件,以及各自的依赖项和开发依赖项。

根据我的研究,建议使用 Netlify 托管前端,使用 Heroku 托管后端。

但是,由于这是我第一次部署,我对以下内容感到困惑:

  1. 如何从 same 项目文件夹分别部署前端和后端,它们有各自的package.json 文件。

  2. 我是否需要重写 backend 文件夹中 index.js 中的代码,以便将我的 frontend GraphQL 请求连接到我的后端。

非常感谢!

【问题讨论】:

    标签: node.js reactjs deployment


    【解决方案1】:

    首先,要提供准确答案,这是一个复杂的问题,您必须在谷歌上搜索并学习一些东西。但这是一个高层次的想法。

    使用 react 或 angularjs 开发任何应用程序后,您可以按照构建说明构建应用程序。例如,角度为ng build --prod。然后你只需要部署构建,它不依赖于package.json

    您必须按原样部署您的后端应用程序,并且您可以遵循的选项很少,最常见的是,

    • 使用像 nginx 这样的代理
    • 在节点后端中托管您的构建

    这里是如何使用 nginx 为 nodejs 和 Angular 托管应用程序的指南 https://www.journaldev.com/27234/nginx-reverse-proxy-node-angular

    希望你能明白。

    【讨论】:

    • 使用 ReactJS,我可以输入 npm run build 来构建应用程序。我担心的是我不知道如何将前端与后端分开部署,并以某种方式将两者连接起来,以便前端可以向后端发送请求。
    • 这就是像 nginx、apache 这样的代理服务器进来的地方,只要按照指南,你就会明白我猜。如果要使用 nginx,则必须使用 nginx 代理通行证
    • 我通读了指南,但不确定它是否完全适用于我的案例。
    • 这取决于您的要求,选项很少,您必须通过选择适合您的要求来选择它们
    猜你喜欢
    • 1970-01-01
    • 2019-09-25
    • 2020-12-12
    • 2020-11-28
    • 2020-11-11
    • 1970-01-01
    • 2018-04-21
    • 2022-12-18
    • 2020-08-12
    相关资源
    最近更新 更多