构建 & 部署
前端部署通知用户刷新
发布新版本后,用户浏览器仍使用旧 JS/CSS,可能出现白屏或报错。
方案(按推荐度):
- version.json 轮询 — 构建时生成 version.json,前端每 5 分钟请求一次,不一致就弹提示。注意:version.json 需设置短 TTL(如 60s)避免 CDN 缓存导致检测失效
- 路由拦截器中检查 index.html 的 ETag 变化
- WebSocket 推送(成本高,不推荐小型项目)
开源项目打包发布流程
- 代码规范:ESLint + Prettier,提交前 lint-staged
- 打包:Rollup(库)/ Webpack(应用),输出 CommonJS + ESM 双格式
- 版本管理:standard-version 自动生成 CHANGELOG
- CI/CD:GitHub Actions 自动发布 npm
- 贡献指南:CONTRIBUTING.md + Issue Template + PR Template
Vite 项目部署 GitHub Pages
⚠️ Create React App 已于 2023 年被 React 团队弃用,推荐迁移到 Vite。
bash
# vite.config.js
base: '/repo-name/'vite.config.js中设置 base 为仓库名yarn build生成 dist 静态文件- 使用 gh-pages 包:
npx gh-pages -d dist - 或配置 GitHub Actions 自动部署