跳转到内容

开发服务器

Terminal window
plumego dev

plumego dev 构建你的服务,在 :8080 启动,监听 **/*.go 的文件变更,并在每次保存后自动重新构建。本地仪表盘运行在 127.0.0.1:9999,显示构建状态、应用事件和路由详情。

  • 在 Plumego 项目中启动开发服务器
  • 验证服务正常运行
  • 监听文件变更并触发重建
  • 配置地址、监听模式和构建命令

第一步 — 从源码 checkout 构建 CLI

Section titled “第一步 — 从源码 checkout 构建 CLI”
Terminal window
git clone https://github.com/spcent/plumego.git
cd plumego/cmd/plumego
go build -o ../../bin/plumego .
export PATH="$(pwd)/../../bin:$PATH"

CLI 当前位于嵌套 Go module 中;在某个具体 tag 的 release checklist 通过 前,不把 tagged go install 作为受支持安装路径宣传。

验证构建:

Terminal window
plumego --help

在项目根目录运行:

Terminal window
plumego dev

预期输出:

Starting Plumego Dev Server
Project: /path/to/your/project
App URL: http://localhost:8080
Dashboard URL: http://localhost:9999
Watching for changes...
Press Ctrl+C to stop
Terminal window
curl localhost:8080/healthz
# {"data":{"status":"ok"}}

在浏览器中打开仪表盘:http://localhost:9999

第四步 — 修改文件,观察热重载

Section titled “第四步 — 修改文件,观察热重载”

修改某个 handler 或路由后保存,终端显示:

File changed: internal/app/routes.go
Reload complete

服务器用新构建重启,无需手动操作。

参数默认值用途
--addr:8080应用监听地址
--dashboard-addr127.0.0.1:9999开发仪表盘地址
--dashboard-token(无)仪表盘操作 API 所需的 token
--watch**/*.go要监听的 glob 模式(逗号分隔)
--exclude(无)从监听中排除的模式
--debounce500ms文件变更后触发重建前的等待时间
--no-reloadfalse禁用自动重建,仅提供服务
--build-cmd(自动)自定义构建命令,例如 go build -tags dev ./...
--run-cmd(自动)自定义运行命令

自定义端口:

Terminal window
plumego dev --addr :3000

监听额外文件类型:

Terminal window
plumego dev --watch "**/*.go,**/*.yaml"

禁用热重载(仅提供服务):

Terminal window
plumego dev --no-reload

为仪表盘设置访问令牌:

Terminal window
plumego dev --dashboard-token my-secret-token

自定义构建和运行命令:

Terminal window
plumego dev --build-cmd "go build -tags dev -o .dev-server/app ./cmd/server" \
--run-cmd ".dev-server/app"

127.0.0.1:9999 的仪表盘提供:

  • 构建状态 — 最近一次构建结果、耗时,以及失败时的错误输出
  • 应用事件 — 启动、停止、重启(含 PID)
  • 日志流 — 从运行中的应用转发的 stdout/stderr

仪表盘默认仅在本地可访问,不要将其暴露到公网接口。

handler 形态稳定后,继续阅读测试 Handler,学习不启动开发服务器也能验证行为的方式。