6 条命令跑通 Univer:从 pnpm install 到 Nginx 上线
【免费下载链接】univerUniver is a full-stack framework for creating and editing spreadsheets / word processor / presentation on both web and server.项目地址: https://gitcode.com/GitHub_Trending/un/univer
Univer 是一套跑在 Web 端的电子表格、文档、幻灯片引擎,很多人卡在"本地怎么跑、线上怎么部署 Univer"这两件事上。这篇就是解决它:装依赖、起服务、打生产包、配 Nginx,全程 6 条命令。读完后你会拥有一个带 gzip 压缩、可直接访问的 Univer 线上地址。
一、先跑起来:最小环境 + 首次启动
环境要求就三样,装好就能开工:
| 软件 | 版本 | 一句话说明 |
|---|---|---|
| Node.js | >= 22.18 | JS 运行环境,低于此版本构建会报错 |
| pnpm | >= 11 | 包管理器,装 monorepo 依赖比 npm 快得多 |
| Git | 最新版 | 拉代码用 |
先拉代码:
git clone https://gitcode.com/GitHub_Trending/un/univer cd univer装依赖。这是个 monorepo(一个仓库管几十个包),pnpm 装完通常需要几分钟,耐心等:
pnpm install起开发服务器:
pnpm dev跑完你应该看到终端输出本地地址(默认 3000 端口),浏览器打开就是一个能编辑的电子表格 demo,改代码页面自动刷新,不用手动刷新。如果报command not found: pnpm,先执行npm i -g pnpm。
二、仓库长什么样:3 分钟定位关键目录
. ├── common/ 共享配置和工具(构建、ESLint、tailwind 等公共件) ├── docs/ 项目文档 ├── e2e/ 端到端测试用例 ├── examples/ Web 演示示例,你跑 dev 起的就是它 ├── mockdata/ 开发用模拟数据 └── packages/ Univer 核心包和各功能插件(60+ 个)平时开发基本只碰两处:
- 想改页面效果、换 demo 逻辑,看 examples/
- 想改表格/文档/幻灯片的引擎行为,看 packages/
其他目录知道是干嘛的就行,不用逐层翻。
三、从本地到线上:构建 + Nginx 验证
Univer 部署的本质很简单:产物是纯静态文件,任何静态服务器都能扛。
先构建生产版本的 demo 站点(产物落在examples/local):
pnpm build:demo构建完成后,本地可以先验证一把,效果和生产一致:
pnpm serve:e2e # 起在 examples/local,默认 3000 端口没问题后,把整个examples/local目录传到服务器:
scp -r examples/local user@your-server:/var/www/univerNginx 配置只需要这一小段,核心是 SPA 回退 + gzip:
location / { try_files $uri $uri/ /index.html; # 前端路由回退到 index.html gzip on; # 开启压缩,JS/CSS 体积能砍一半 gzip_types text/css application/javascript application/json; }改完配置记得sudo nginx -t再sudo systemctl reload nginx,nginx -t报错一般是 path 写错了。
上线后按这张清单逐项验证:
| 检查项 | 预期结果 | 不通过怎么办 |
|---|---|---|
| 首页访问 | 200 且表格正常渲染 | 查 root 路径是否指向 examples/local |
| 刷新非根路由 | 不出现 404 | 确认 try_files 回退已配 |
| 查看资源传输头 | 有Content-Encoding: gzip | 检查 gzip_types 和文件大小阈值 |
| 控制台报错 | 无 404 资源 | 查静态资源相对路径配置 |
四、踩坑 & 进阶:一张表说完
| 问题 | 现象 | 解法 |
|---|---|---|
| 内存泄漏 | 长时间使用页面卡顿 | 参照 docs/FIX_MEMORY_LEAK.md 排查 |
| 单元测 |
【免费下载链接】univerUniver is a full-stack framework for creating and editing spreadsheets / word processor / presentation on both web and server.项目地址: https://gitcode.com/GitHub_Trending/un/univer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考