使用 Express 服务器后端的 Create-React-App

Posted

技术标签:

【中文标题】使用 Express 服务器后端的 Create-React-App【英文标题】:Create-React-App with Express server backend 【发布时间】:2019-05-30 03:56:23 【问题描述】:

如果 create-react-app 样板项目有自己的服务器。为什么需要添加快速后端服务器?开发两台服务器有什么好处?为什么不能使用 create-react-app 服务器作为一台服务器来降低复杂性,因为在生产中会捆绑 create-react-app JS 文件?很难用 create-react-app 和 express 理解 s-s-r。

目前我只运行 create-react-app 并且很难理解需要快速服务器。如果 create-react-app 有一个适合您。

【问题讨论】:

【参考方案1】:

在生产中,创建反应应用服务器甚至不存在。因为 create-react-app 唯一真正为我们做的事情是为我们提供实时重新加载和 linting 等东西,一些错误检查,我们在生产中不需要任何这些行为。在我们部署我们的应用程序之前,我们将构建我们的反应项目。当我们构建我们的 react 项目时,create-react-app 将获取所有不同的 javascript 文件、css 文件以及 src 中的所有内容,将在这些文件上运行 webpack 和 babel,然后将最终的生产构建文件保存到构建中文件夹。然后,每当用户访问我们在 heroku 或您部署应用程序的任何其他平台上运行的应用程序时,我们只会运行我们的 express api,并且每当有人访问我们的应用程序时,我们都会自动向他们发送我们的 html 文件和新构建的刚刚放入该公用文件夹的 javascript 文件。

Create-react-app 的存在是为了给我们提供良好的开发体验并帮助我们制作良好的 React 应用程序。当我们去 heroku 并提供所有东西时,我们有 node express api,它将自动提供所有公共资产,如 bundle.js 或 main.js、根 html 文件和所有 css。

需要快速服务器与数据库通信并执行后端工作。不要将 create-react-app 与 next.js 混淆

【讨论】:

以上是关于使用 Express 服务器后端的 Create-React-App的主要内容,如果未能解决你的问题,请参考以下文章

单独的 Vue 前端和 Express 后端的 NGINX 设置

使用 node express 的 create-react-app 获取 %PUBLIC_URL%

Express、Create-React-App 和 passport-twitter

为啥我的 Express.js 后端的 CORS 设置不起作用?

如何在Heroku上托管带有Node后端的React应用程序?

如何使 http-proxy-middleware 从 create-react-app 连接到 localhost 服务器