【问题标题】:Why I should create separate project for ReactJS?为什么我应该为 ReactJS 创建单独的项目?
【发布时间】:2018-05-18 05:14:27
【问题描述】:

我想在我的新 Web 应用程序中将 React 用于前端,将 Express 用于后端。

根据指南,我必须在我的项目目录中使用 create-react-app 工具创建子项目:

my-project
|-frontend
| |-package.json
| |-components
| | |-...
| | 
| |-...
|
|-backend
| |-api
| | |-...
| |-app.js
| |-...
|
|-package.json

在开发过程中,我应该在不同的端口上启动两个服务器,分别用于后端和前端,并且对后端的代理请求抛出 React 服务器。

这个方案在我看来很丑陋。如何配置后端服务器以提供与 react-scripts 相同的功能,以避免为其使用单独的服务器

【问题讨论】:

  • 这是因为 React 开发服务器正在提供开发功能,例如热重载的行为不像您的真实客户端代码那样。单独运行后端服务器将简化您的开发和部署体验,因为您可以在开发时将服务器视为“自己的东西”,这对于真实的生态系统来说是真实的。不要使用客户端开发工具来负担您的服务器代码

标签: node.js reactjs webpack babeljs create-react-app


【解决方案1】:

前后端分离好, 它增加了可维护性 如果您愿意,您可以将前端作为 root 服务。并且您所有的休息端点都在一个服务器中。

【讨论】:

    【解决方案2】:

    必须分开文件夹(用于后端和前端)将为您的项目提供更清晰和可扩展的结构。

    在您的后端创建一个 package.json 文件并在脚本部分中使用:

    "scripts": {
      "start": "node index.js"  // the command you use to run your project
    }
    

    在同一个脚本中运行两个项目的方式:

    安装 npm-run-all

    $ npm install npm-run-all --save-dev
    

    然后在你的文件 my-project/package.json 你应该有这样的东西:

    "scripts": {
      "start:server": "cd backend && npm start",
      "start:client": "cd frontend && npm start",
      "start": "npm-run-all --parallel start:client start:server"
    }
    

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2014-08-08
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多