Skip to content

开发服务器 (Dev Server)

当您需要由 zero-native 来接管前端服务器的生命周期时,请使用 zero-native dev。它会启动配置好的前端进程,等待端口接受连接,然后带上环境变量 ZERO_NATIVE_FRONTEND_URL 启动原生外壳(Shell),设置 ZERO_NATIVE_HMR=1,最后在原生外壳退出时终止前端进程。由于 WebView 直接加载了开发服务器的 URL,因此框架的模块热替换(HMR)仍由前端开发服务器(Vite、Next.js 等)自身来掌管。

使用方法 (Usage)

bash
zero-native dev --binary zig-out/bin/MyApp
zero-native dev --binary zig-out/bin/MyApp --url http://127.0.0.1:3000/ --command "npm run dev"
zero-native dev --binary zig-out/bin/MyApp --timeout-ms 60000

参数标志 (Flags)

参数描述
--manifest指向 app.zon 清单文件的路径(默认是 app.zon
--binary编译好的原生二进制文件路径
--url覆盖 app.zon 中配置的前端开发服务器 URL
--command覆盖 app.zon 中配置的前端开发服务器启动命令
--timeout-ms覆盖开发服务器就绪的超时时间(默认使用 app.zon 中的值)

在 app.zon 中配置

zig
.frontend = .{
    .dist = "dist",
    .entry = "index.html",
    .spa_fallback = true,
    .dev = .{
        .url = "http://127.0.0.1:5173/",
        .command = .{ "npm", "run", "dev", "--", "--host", "127.0.0.1" },
        .ready_path = "/",
        .timeout_ms = 30000,
    },
}

框架配置配方 (Recipes)

  • Vite.url = "http://127.0.0.1:5173/", 启动命令为 npm run dev -- --host 127.0.0.1
  • Next.js.url = "http://127.0.0.1:3000/", 启动命令为 npm run dev -- --hostname 127.0.0.1
  • 静态预览:将 .dist 指向构建输出目录,并使用任何本地服务器启动命令。