问题域/PD-460

跨平台部署

Cross-Platform Deployment

单代码库部署到Web/Desktop/Mobile:PWA、Electron、Capacitor/iOS

子问题

1.平台特定代码隔离

2.共享UI组件

3.IPC通信抽象

4.原生能力桥接

5.大资产跨平台分发(S3外置 vs asar打包 vs CDN)

6.多窗口生命周期依赖管理

7.编译时平台分支与Tree-shaking优化

8.路由/布局多源合并与平台级排除

各项目的解法1 solutions

Signals

横向对比

维度AIRI
平台覆盖PWA + Electron + Capacitor iOS + VitePress 四平台
共享策略pnpm workspace 源码直引,stage-ui/shared/pages/layouts 四包共享
平台分支编译时 define 注入 RUNTIME_ENVIRONMENT,isStageX() 三函数分支
IPC 抽象eventa 类型化事件协议 + contextBridge preload 暴露
构建工具Vite + electron-vite + Capacitor CLI + VitePress 统一 Vite 生态
大资产处理WarpDrivePlugin S3 外置 WASM/TTF/VRM,Electron 打包进 asar
窗口管理injeca DI 框架声明式依赖拓扑排序管理 10+ 窗口
路由共享unplugin-vue-router routesFolder 多目录源 + 平台级排除

最佳实践

1.使用stage-shared/stage-ui抽取跨平台共享逻辑

2.编译时define注入平台标识实现零运行时开销分支

3.共享包不预构建直接源码引用减少构建链复杂度

4.用DI框架管理Electron多窗口拓扑依赖

5.pnpm catalog统一monorepo依赖版本