
TREK开发环境搭建本地同时调试shared、server、client三端【免费下载链接】TREKA self-hosted travel/trip planner with real-time collaboration, interactive maps, PWA support, SSO, budgets, packing lists, and more.项目地址: https://gitcode.com/GitHub_Trending/nomad22/TREK本文带你快速完成TREK 开发环境搭建TREK 是一个自托管的旅行行程规划器支持实时协作、交互地图、预算与打包清单等功能。项目采用 npm workspaces 单体仓库monorepo结构npm ci安装依赖后仅用一条npm run dev即可在本地同时启动 shared、server、client 三端进入日常开发与调试状态。三端各是什么先搞懂架构TREK 由三个 workspace 组成见根目录 package.json 的workspaces字段端目录技术栈职责sharedshared/tsdown ZodAPI 契约Zod schema与 i18n 翻译层前后端的单一事实来源serverserver/NestJS Express SQLite后端 API、WebSocket 实时同步、MCP 服务监听3001端口clientclient/Vite React 19前端界面与 PWA监听5173端口 三者依赖关系client 和 server 都依赖trek/shared所以开发时必须先把 shared 编译出来并让它保持 watch 模式持续重新构建。开始搭建环境要求与克隆仓库 开始前请确认本机已安装Node.js 22与 npmGit可选KDE KItinerary仅用于预订确认邮件导入功能不装也不影响其他开发# 克隆仓库 git clone https://gitcode.com/GitHub_Trending/nomad22/TREK cd TREK一条命令装好全部依赖TREK 是标准 npm workspaces 项目在仓库根目录执行一条命令即可安装三个 workspace 的全部依赖npm ci这一步会自动把client、server、shared三个 workspace 的依赖装好无需分别进入子目录操作。核心步骤npm run dev 同时拉起三端安装完成后在根目录执行npm run dev这一条命令背后做了三件事脚本定义在 package.json 中先完整构建一次shared保证 server/client 能引用到编译产物用concurrently并发启动三个进程shared→tsdown --watchschema 或翻译文件一改动就自动重新编译server→ 走 server/scripts/dev.mjs先做初始构建然后同时跑tsc -w增量编译和node --watch代码变动自动重启监听 3001 端口client→ Vite 开发服务器监听 5173 端口并在 client/vite.config.js 中把/api、/ws、/uploads、/mcp、/oauth/*等路径全部代理到 3001 后端。✅ 打开浏览器访问http://localhost:5173看到登录页就说明三端链路全部打通了。注册一个账号即可进入功能完整的行程规划界面创建一次旅行后仪表板会实时汇总行程、预算与待办三端如何协作改代码时要知道的事你想改的东西改哪里热更新行为API 请求/响应结构、通用类型shared/src/tsdown watch 自动重编译server/client 感知新契约接口逻辑、数据库、WebSocketserver/src/如 server/src/index.ts 的入口与端口配置node --watch自动重启服务页面、组件、状态管理client/src/如 client/src/App.tsxVite HMR 秒级热替换 几个开发时高频的小知识密钥JWT / 加密密钥无需手动配置server 首次启动会自动生成并持久化到server/data/下逻辑见 server/src/config.ts本地开发开箱即用修改 i18n 文案后可在 shared 目录运行npm run i18n:parity校验各语言 key 是否对齐端口被占用时可临时用PORT环境变量调整 server 端口但记得同步改 client/vite.config.js 的 proxy target。常用调试命令速查表场景命令根目录执行启动三端开发npm run dev全量构建npm run build跑全部测试npm test覆盖率报告npm run test:covLint 三个 workspacenpm run lint只测 servernpm run test --workspaceserver只跑 client 单测npm run test:unit --workspaceclient更完整的脚本清单包括 Playwright E2E 截图、server 的 WebSocket 测试等请参考官方开发指南 wiki/Development-environment.md。可选增强安装 KItinerary 支持预订导入如果需要开发从预订确认邮件/PDF 导入相关功能额外安装# Linux sudo apt-get install -y libkitinerary-bin并在server/.env中配置KITINERARY_EXTRACTOR_PATH、QT_QPA_PLATFORMoffscreen等变量详见 wiki/Development-environment.md 第 6 节。不安装时其余功能完全不受影响。常见问题排查症状原因与处理3001 端口连不上首次启动需完成初始编译稍等片刻查看终端里 server 进程是否有报错改 shared 后前端没生效确认npm run dev的 shared watch 进程还活着必要时 CtrlC 后重跑依赖安装失败先删掉node_modules重新npm ciNode 版本需 ≥ 22页面白屏但控制台 404检查 Vite 代理是否指向 3001client/vite.config.js至此你的TREK 本地三端开发环境已就绪npm run dev一条命令shared 自动重编译、server 自动重启、client 秒级热更新——改完代码刷新浏览器就能立刻看到效果。【免费下载链接】TREKA self-hosted travel/trip planner with real-time collaboration, interactive maps, PWA support, SSO, budgets, packing lists, and more.项目地址: https://gitcode.com/GitHub_Trending/nomad22/TREK创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考