首页 > 解决方案 > react nodejs项目中的多个package.json文件

问题描述

我是 react 新手,正在尝试创建一个使用 react、node 和 express 的项目。自己设置正确反应有很多问题,我决定使用 create-react-app。

我在网上找到了一堆教程,其中很多似乎建议将前端和后端分离到不同的目录中,从而产生两个 package.json。

所以项目结构看起来像这样:

Root
|
------client
|       |
|       -------package.json with front end dependencies
|
package.json with the back end dependencies

客户端目录是使用“npm init react-app”创建的,还包含具有 react-scripts 的 package.json。目前,如果我在客户端目录中使用命令“npm run build”,它会在根文件夹中创建一个没有后端文件的构建,如果我在根文件夹中使用“npm run build”,它不起作用,因为我没有该 package.json 中的 create-react-app 脚本。

我的主要问题是,如果我有两个 package.json,并且像这样拆分前端和后端是否是正常/最佳实践,我将如何构建我的项目?

任何建议将不胜感激。

标签: node.jsreactjsexpresscreate-react-apppackage.json

解决方案


这种文件夹结构是最常用的结构之一。您实际上是在分离前端和后端,这将导致可扩展的架构。

要从一个命令构建项目,您需要安装一个依赖项concurrently。它将一次启用多个命令。然后更改您的 root package.json

下面是一个例子package.json

"scripts" : {
     "build-client": "npm run build --prefix <FRONTEND_FOLDER NAME>",
     "build": "<YOUR SERVER BUILD COMMAND>",
     "build-project" : "concurrently \"npm run build\" \"npm run build-client\""
}

希望能帮助到你!!!


推荐阅读