Skip to content

Guava UI 构建与部署常见问题 ​

项目跑起来了但不知道怎么打包上线?构建后样式炸了?文件太大? 这里汇总了构建和部署过程中最常碰到的问题,直接找你的场景。


构建产物相关 ​

Q: 构建后的 style.css 体积太大了,正常吗? ​

这是正常的。 项目已对 Element Plus 做了按需引入(通过 docs/.vitepress/theme/element-plus-styles.ts),不是全量引入 element-plus/dist/index.css(约 350KB)。

当前优化情况

  • CSS:Element Plus 已按需引入,guava-ui 全量样式暂无法按组件拆分
  • JS:按需引入第三方库,避免全量引入

Q: 怎么进一步减小 JS 和 CSS 体积? ​

类型当前状态还能做什么
CSSElement Plus 已按需引入guava-ui 全量样式暂无法拆分
JS-第三方库必须按需引入,不要全量 import

样式问题排查 ​

Q: 开发环境样式正常,打包后样式全乱了怎么办? ​

按以下顺序排查:

  1. 是不是直接双击 HTML 打开的? → 不能用 file:// 协议,必须通过 HTTP 访问
  2. 部署路径和 base 配置是否一致? → 检查 env.ts 里的 VITE_BASE_PATH
  3. 缓存没刷新? → 浏览器强刷 Ctrl/Cmd + Shift + R

不要双击打开 HTML

生成的 dist/index.html 只能通过 HTTP Server 访问(Nginx、Vite Preview 等),不支持直接双击打开。


Q: 本地 dev 没问题,部署后样式丢失? ​

可能原因:

  • 服务器没有配置 gzip / br 压缩
  • CDN 缓存未刷新
  • 部署路径和 base 配置不匹配

部署相关问题 ​

Q: 推荐的生产环境部署方式是什么? ​

bash
pnpm build

然后将打包后的 dist 目录部署到服务器:

  • 传统部署:放到 Web 服务器指定路径,如 /guava/
  • 自动部署:配置 CI/CD 流水线

服务器必备配置

  • 开启 gzip 压缩
  • 开启 brotli (br) 压缩
  • 静态资源配置长期缓存

Q: 部署到子路径(如 /guava/)需要注意什么? ​

需要修改 env.ts 中的配置:

typescript
VITE_BASE_PATH: '/guava/'; // 改成你实际的部署路径

同时确保 Nginx 配置中 location 和 base 一致。