本模块是基于企业级微服务框架
后端 API 所开发的前端项目。
采用Ant Design Pro框架,基于UmiJS v3.x和ProComponents; 图表采用Ant Design Charts。
考虑到react的复杂性,保留了layui版本的前端。
│ ├─layui-web -- layui前端
│ │ ├─src
│ │ │ ├─main
│ │ │ │ ├─java -- java启动类
│ │ │ │ ├─resources -- 前端源码
│ │ │ │ │ ├─static -- 前端源码
│ ├─react-web -- react前端
│ │ ├─src
│ │ │ ├─main
│ │ │ │ ├─frontend -- 前端源码(Ant Design Pro)
│ │ │ │ ├─java -- java启动类(集成frontend-maven-plugin)
以下 2 种运行方式,选一种运行即可。
运行类 com.central.web.BackWebApplication
基于 SpringBoot 内嵌的 web 容器
把 layui-web\src\main\resources\static
下的内容复制到类似 Nginx
之类的静态服务器运行。
修改 layui-web\src\main\resources\static\module\apiUrl.js
中的地址。
以下 3 种运行方式,选一种运行即可。
-
需要先安装
nodejs
官网地址:https://nodejs.org/en/download/ -
然后安装 node_modules:
在 react-web\src\main\frontend
目录下执行以下命令:
//设置使用淘宝的镜像源
npm config set registry https://registry.npm.taobao.org/
// 安装
npm install
运行 frontend\start.bat
文件或者执行 npm start
命令。
运行成功后,浏览器访问:http://localhost:8066
修改 react-web\src\main\frontend\config\proxy.ts
中的地址。
运行 frontend\build.bat
文件或者执行 npm run build
命令进行编译。
编译成功后,把 react-web\src\main\frontend\dist
下的内容复制到类似 Nginx
之类的静态服务器运行。
通过反向代理,例如 Nginx
的配置如下:
location ~ ^/api-* {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9900;
}
location / {
root /usr/share/nginx/html;
index index.html;
expires 7d;
}
配置了两条路由,页面请求的各个
api-xxx
地址重定向到指定的接口地址;其他的则访问静态文件。
模块已集成Maven插件frontend-maven-plugin
用于编译前端代码
由于需要安装前端环境并编译前端代码,首次运行需要时间较长。
在 react-web
目录下执行 maven 命令 mvn package
打包。
在target目录下生成zlt-web-x.x.x.jar(springboot jar)。
java -jar zlt-web-5.4.0.jar
或者直接在IDE中运行 react-web\src\main\java\ui\ReactUiBootApplication.java
运行前必需先使用 maven 对 react-web 工程进行编译或打包。
开发参考
- Ant Design Pro 开箱即用的中台前端/设计解决方案
- UmiJS v3.x 可扩展的企业级前端应用框架
- Ant Design 基于 Ant Design 设计体系的 React UI 组件库
- ProComponents 基于 Ant Design 设计规范,提供更高程度的抽象,提供更上层的设计规范
- Ant Design Charts 简单好用的 React 图表库