🧭 背景
在开发支持多模板的前端系统(如 CMS、商城等)时,往往希望不同的模块(如 cool-shop
、general-shop
)可以独立打包、部署、被懒加载。
本篇记录我如何使用:
-
Vite
分别构建多个独立 JS 模块 -
Cloudflare Pages
将它们作为静态资源部署 -
✅ 最终支持其他项目通过 CDN 懒加载这些模块
🎯 目标
将项目中的两个模块:
-
src/themes/cool/Shop.tsx
-
src/themes/general/Shop.tsx
分别构建为:
dist/cool/cool-shop.js → https://cool-shop.pages.dev/cool-shop.js
dist/general/general-shop.js → https://general-shop.pages.dev/general-shop.js
🏗️ 项目结构 & 配置
📁 文件结构
⚙️ Vite 多配置文件打包
分别创建两个配置文件:
vite.cool.config.ts
vite.general.config.ts
同理,仅路径和项目名不同。
📦 package.json 脚本
🚀 Cloudflare Pages 部署流程
-
安装 CLI 工具:
-
登录账户:
-
部署:
部署完后,将得到两个可直接访问的 CDN 资源地址:
-
https://cool-shop.pages.dev/cool-shop.js
-
https://general-shop.pages.dev/general-shop.js
🧠 自动生成组件注册表 JSON
脚本:generateComponentRegistry.cjs
生成的 componentRegistry.json
示例: