reactjs - 如何构建按功能或模块拆分的 java 后端和 reactjs 前端项目
问题描述
这是我想做的,构建我的项目(reactjs 前端和 java 后端),该项目具有基于特性的 java 中的多个模块。这是我对文件夹结构的想法:
<project name>
- auth0
- src
- main
- java
- security
- src
- main
- java
- core
- src
- main
- java
- **ui**
- <feature 1>
- src
- main
- java
- **ui**
- <feature 2>
- src
- main
- java
- **ui**
- <feature n>
- src
- main
- java
- **ui**
因此,基本的 reactjs 和 java 后端模块是核心,因此这是主要代码所在的位置,当我添加新功能时,我将添加逻辑(java)和 ui 相关代码。我如何能够在 maven 或 gradle 中进行设置,以便在构建时可以将所有功能都内置到功能应用程序中?
解决方案
乍一看,这似乎很有序,但是使用这种文件夹结构,从长远来看,您会遇到问题。
此外,您不遵循通用约定,并且通常如果您开始制作自己的结构,那么稍后将使用您的项目的人会感到困惑。因此,我建议您不要这样做。
话虽如此,您的反应应用程序是在您将其构建在静态的 dist 文件夹中之后!通常,react 应用程序不是从与后端相同的位置提供服务的。这对于可扩展性来说要好得多。例如,您可以从数字海洋水滴或 VM 为您的静态反应应用程序提供服务,而您的后端代码由 AWS 或任何其他 VM 提供服务。
所以最后你的代码还是分开了!
如果您仍然希望继续您的想法,您可以在项目根目录中设置一个节点项目,然后编写一个 webpack 编译器。然后你需要创建一个没有npx create-react-app
.
一些有用的阅读:
我强烈建议您不要这样做,因为无论如何您都不会直接在前端使用后端代码的任何功能。
您可以做的是在机器人应用程序中具有相同的文件夹结构:
Project
- Backend
- feature 1
- Frontend
- src
- feature 1
推荐阅读
- xml - 如何让我的 XSLT 仅在元素存在时才显示它?
- android - 通过单击按钮或搜索栏增加和减少图像实体的高度
- android - 以编程方式在 google play store 上为应用程序启用自动更新
- git - 从功能分支切换到主分支
- python - 没有从 Alexa 技能中获取烧瓶中的插槽值
- excel - 验证最小和最大数字之间的输入框条目
- google-chrome - Google Chrome - 始终作为 Karma 窗口打开
- jquery - 如何在下一个函数或代码之前获取 Jquery 同步或回调函数
- java - 无法在我的 Servlet 程序中重定向到外部 URL(如 google.com)
- javascript - 权限Android 未显示在 React Native 应用程序中