项目

进程

让 Joppa 按正确的顺序启动你的开发服务器和 Compose 容器,内置终端,支持在打开 Joppa 时启动,并在崩溃后重新启动。

进程 标签页(P)从 Joppa 运行项目:它的开发服务器(package.json 中的 dev 脚本)和基础设施(Docker Compose 服务)。每个进程都有自己的状态、端口和日志。

进程标签页:应用和 Docker Compose 基础设施,以及它们的端口和状态

分析项目

第一次使用时,点击项目页面顶部(打开 旁边)或标签页中的 分析项目。在完成分析之前,Joppa 不会启动任何内容:域名会一直离线,直到你启动服务器。Joppa 会读取 package.json、workspaces 和 Docker Compose 文件,然后显示 Joppa 对项目的理解。在你确认之前不会启动任何内容。

列 内容
在「全部启动」中 取消勾选某个进程,它就不会和其他进程一起启动;但仍可单独启动
进程 进程名:web、api、postgres
命令 bun run dev,或 Compose 服务
端口 可修改
端口来源 脚本、配置、代码、.env、compose 或 默认

「等待 …」这一行表示依赖关系:开发服务器会等待它所依赖的 Compose 容器就绪。

如何确定端口

按以下顺序:

  1. 脚本中带默认值的变量(${PORT:-3000}):Joppa 会为其赋值;
  2. 脚本中的 --port、-p 或 PORT=;
  3. 框架配置中的 port:(vite.config、astro.config);
  4. .env 中的 PORT;
  5. 框架的默认端口:Vite 5173、Astro 4321、Next.js 和 Nuxt 3000、Angular 4200、Wrangler 8787。

对于其他 Node 服务器,Joppa 会在代码中查找端口(.listen(3000)、process.env.PORT ?? 3000)。

包管理器取自 lockfile,其次是 packageManager 字段,否则使用 npm。

Monorepo

当根目录的 dev 脚本一次启动多个应用(turbo、nx、--filter、--workspace)时,Joppa 会提供两个选项:

  • 分别启动 · 每个应用独立的状态和日志(推荐);
  • 保持原样:在同一个终端中运行根命令。

保存:仅限本机或供团队共享

  • 保存 会把配置保存在 Joppa 中,仅限本机。
  • 勾选 在仓库中写入 joppa.toml,供团队共享 即可共享:配置会写入项目根目录的 joppa.toml 文件,供你提交。该文件存在时,以它为准。参见 joppa.toml 参考。

保存并启动 会立即启动所有进程。

启动和停止

  • 项目页面顶部的 ▶ 全部启动 / ■ 全部停止,或使用 ⌘ K 命令面板(「全部启动:myproject」)。只要有一个进程在运行,按钮就会变为 ■ 全部停止。
  • 每个进程都可以在标签页中或通过命令面板单独启动、停止或重启。

进程分为 应用(「dev」脚本)和 基础设施(Docker Compose,以 docker compose up -d --wait 启动:Joppa 会等待健康检查)两组。标题栏显示启动顺序以及正在运行的数量。

状态 含义
已停止 —
等待中 正在等待它所依赖的进程
启动中 已启动,但端口尚未响应
运行中 已启动(无端口的进程)
在线 端口正在响应
失败 因错误而停止
在 Joppa 之外启动 该端口已由一个非 Joppa 启动的进程提供服务
无 Docker Compose 服务,但没有正在运行的运行时

侧边栏中项目旁以及「项目」页面中项目卡片上的 ▶ 6/7 计数器显示「全部启动」中有多少个进程正在运行;窗口底部的状态栏汇总所有项目(6/7 个进程)。▶ 的颜色:全部运行时为绿色,有进程已停止、正在启动或在 Joppa 之外启动时为橙色,只有在某个进程失败时才为红色。将鼠标悬停在计数器上可查看详情。

如果端口被其他程序占用,Joppa 会提示你,并提供 释放端口。

停止时会先发送 SIGTERM,6 秒后再发送 SIGKILL。

打开 Joppa 时启动

开关 打开 Joppa 时启动 会在每次启动 Joppa 时对该项目执行一次「全部启动」。这是本机的偏好设置:永远不会写入 joppa.toml。

崩溃后重新启动

设置 崩溃后重新启动 决定 Joppa 对崩溃的开发服务器重新启动多少次:从不、1、2、3(默认)、5 或 10 次。

  • 两次重新启动之间的等待时间逐次翻倍:1 秒、2 秒、4 秒、8 秒……最长 30 秒。
  • 稳定运行 60 秒后,计数器归零。
  • 超过次数后,Joppa 会放弃并显示:「重新启动 3 次后再次崩溃:Joppa 已放弃。」
  • 你主动停止进程会取消待执行的重新启动。

此设置仅适用于开发服务器(不适用于 Compose 容器),并且只保存在本机。

内置终端

⌘ J 可在任意界面打开窗口底部的终端。收起时,它为每个进程显示一个状态方块;展开时,先是 全部 标签页,然后每个进程一个标签页。

内置终端显示所有进程,每个进程有自己的颜色

  • ⌕ 筛选:只显示包含某段文本的行。
  • ● 跟随:始终停在最新的行。
  • 清空、放大 / 缩小。
  • 调整大小:拖动顶部边缘(或用键盘 ↑ / ↓);双击恢复默认高度。Joppa 会记住上次的高度。

Joppa 为每个进程保留最近 5,000 行。出错时,终端会提供合适的操作:释放端口 或 重新启动。

getjoppa.com › support

加载中

发送不了?请写信至 [email protected]。只是简单的问题:[email protected]。