前端工程部署实例

最近笔者负责的一个前端项目部署上线了,现将其分享出来,供各位大佬指点。

项目背景

前端项目需要集成兄弟部门开发的一个服务UserService,此服务在改造之前只能用在client端,即在node环境下通过shell指令打开,本质上是新的进程,使用electron开发。现需要对其改造,使其能支持web和client端。

部署思路

改造思路为:前端项目首先打包生成dist目录;然后使用nginx分别代理入口文件dist/index.html和静态资源路径dist/static/;最后直接将nginx代理的url作为使用iframe或者electron的入口。

在次改造过程中,提供api接口服务的后端程序会随着调用方一起启动,并且在前端项目中直接使用正确的接口地址而无需使用nginx做代理。

架构拓扑

使用mermaid标识此次部署的结构:

graph TB subgraph "Frontend Project: UserManager" A[React App] B[Webpack Bundling<br/> dist/ ] end subgraph "Nginx Proxy" C[Nginx] D[Static Resource Proxy<br/> dist/static] E[Page Proxy<br/> dist/index.html] end subgraph "Service" F(Generate Access URL<br/>http://localhost/User-Server) Z(Generate Resource API<br/>http://localhost/User-Server/static) X[Request Service<br/> UserService.exe] end subgraph "Invocation" G[electron Embed] --> F H[iframe Embed] --> F end subgraph "Frontend Projects: ECSNext" I[Project<br/>Configuration] --> G I[Project<br/>Configuration] --> H J[Project<br/>Runtime] --> G J[Project<br/>Runtime] --> H end A --> B B --> D B --> E D --> C E --> C C -- Generate Access URL --> F C -- Generate Resource API --> Z E --> X
相关推荐
剪刀石头布啊4 小时前
vue-react为何要虚拟dom
前端
剪刀石头布啊4 小时前
ahooks常用的一些库,我们使用一下
前端
剪刀石头布啊4 小时前
从git更新本地提交记录到更新已经推送到远端记录
前端
Flynt6 小时前
axios 被投毒半年后,我把 npm 的"安全防线"实测了一遍:最信任的 SHA512 是安慰剂
前端·npm·node.js
excel6 小时前
Base62 和 Base64 有什么区别?
前端
风骏时光牛马8 小时前
大模型底层架构与AI源码深度剖析
前端
掘金挖土8 小时前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
中文呀11 小时前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
前进前进前进11 小时前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端