Skip to content

api

  • 类型: boolean | number | object
  • 默认值: false
  • CLI: --api, --api.port, --api.host, --api.strictPort

监听端口并为用户界面浏览器服务器提供 API。设置为 true 时,默认端口为 51204;如果在浏览器模式下运行,则默认端口为 63315

api.allowWrite 4.1.0+

  • 类型: boolean
  • 默认值: 如果不暴露给网络则为 true,否则为 false

Vitest 服务器可以通过 API 保存测试文件或快照文件。这允许任何能连接到 API 的人在你的机器上运行任意代码。

在浏览器模式下,Vitest 通过接收来自浏览器的 WebSocket 连接来保存注释附件构建产物快照。这允许任何能连接到 API 的人在项目根目录(由 fs.allow 配置)中向你的机器写入任意代码。此选项还控制可以间接写入文件的特权浏览器 API,例如通过 cdp() 访问原始 Chrome DevTools 协议。

安全建议

Vitest 默认不会将 API 暴露到互联网,而只监听 localhost。但是,如果手动将 host 暴露到网络,任何连接到它的人都可以在你的机器上运行任意代码,除非将 api.allowWriteapi.allowExec 设置为 false

如果 host 设置为 localhost127.0.0.1 以外的任何值,Vitest 默认会将 api.allowWriteapi.allowExec 设置为 false。这意味着任何写入操作(如在 UI 中更改代码)都将无法工作。但是,如果你了解安全隐患,可以覆盖这些设置。

api.allowExec 4.1.0+

  • 类型: boolean
  • 默认值: 如果不暴露给网络则为 true,否则为 false

允许通过 UI 运行任意测试文件。这适用于UI中可以运行代码的交互元素(以及其背后的服务器代码)。在浏览器模式下,此选项还会限制间接代码执行,包括在服务器上评估外部 .snap 文件,以及通过 cdp() 访问原始 Chrome DevTools 协议。