使用 React 和 Express 进行开发的更好解决方案

Better solution to development with React and Express

tl;dr: 如何创建一个项目,前端使用 React,后端使用 Express,并且只有一个 package.json 和 node_modules 文件夹?

在创建具有 React 前端和 Express 后端的应用程序时,我希望有这样的结构:

注意React前端是用create-react-app构建的

其中 "client stuff" 和 "server stuff" 是纯粹的前后端代码。然而,我能找到的最好的解决方案(唯一的解决方案?)类似于 this。客户端和服务器 运行 在两个独立的服务器上,客户端请求被代理到服务器。这个解决方案很好,除了它需要 2 if not 3 package.json。我想保持客户端和服务器代码按应有的方式分开,但仍在同一个项目和回购中,带有 单个 package.json 和 node_modules 文件夹 .

我理解客户端和服务器之间的关注点分离,我认为我正在拍摄的内容满足了这一点,但如果不满足,请告诉我。

我在 github 中有一个示例项目:https://github.com/jmaister/babel-express-webpack-starter

它只有一个package.json来下载客户端和服务器依赖。

此外,它还有一个为客户构建的版本:

npm run webpack

并启动服务器:

npm run start

这里是 glossa,一个使用您正在寻找的设置的项目。

src 我有我的 create-react-app。 (现在我已经弹出了我的项目,但不要让你感到困惑。)在同一个目录中,我有我的快速服务器。

如果你不想在同一个目录中,选项是创建一个符号链接或弹出你的 create-react-app 并从你的 webpack 配置中删除 ModuleScopePlugin。此 包含有关该场景的更多详细信息。

您必须在 package.json 中添加代理。目前我的master分支是这样设置的

"proxy": "http://localhost:8080",

我的 express 服务器在 8080 上运行