Skip to main content
当你想用一条命令完成生产构建并立刻启动浏览器时,使用 start start 命令先跑生产构建,再用与 preview 相同的流程启动构建好的扩展。

什么时候使用 start

  • 编译完成后立刻手动验证生产行为。
  • 复现 watch 模式与生产输出之间的运行时差异。
  • 在本地跑一次类生产检查,而不需要分别跑 build 再跑 preview

start 命令的能力

与其他命令的区别

  • dev:dev 服务器 + 热模块替换(HMR)/ watch 模式
  • build:仅生产构建
  • preview:不构建、直接启动已构建好的扩展
  • start:依次执行 build + preview

用法

如果省略路径,命令会使用当前工作目录。

参数与 flag

自动化元数据

start 会把就绪元数据写入:
  • dist/extension-js/<browser>/ready.json
在使用 --no-browser 时,这对自动化很有用:
  • 在启动外部 runner 之前等待 status: "ready"
  • status: "error" 当作确定性的失败信号处理。
  • runIdstartedAt 关联某次具体的运行时会话。

--no-browser 与就绪同步

--no-browser 只会禁用浏览器启动。它并不会在生产构建完成之前阻塞外部 runner。 对于面向生产的 Playwright、持续集成(CI)和 AI 工作流:
  1. extension start --no-browser 作为生产者进程。
  2. extension start --wait --browser=<browser> 作为就绪闸门。
  3. 只有在 status: "ready" 之后才启动外部浏览器自动化。
--waiterror / 超时时以非零状态退出,并会忽略来自已死进程(pid 已不存在)的过期契约。 如果你在同一次调用中同时传入 --wait--no-browser--wait 优先。命令会以 wait-only 模式运行。

日志 flag

共享的全局选项

也支持 全局 flag

示例

用默认浏览器启动

在 Firefox 中启动

构建但跳过浏览器启动

行为说明

  • start 不会运行 dev 服务器,也不提供热模块替换(HMR)或 watch 模式。
  • start 面向生产模式;本地迭代开发请用 dev
  • 对于机器消费者,请解析 dist/extension-js/<browser>/ready.json,而不是终端文本。

下一步

  • dev 快速迭代。
  • preview 启动已有的构建输出。