SuperAPI AI 工具集

stackblitz-sdk-patterns

设计与创作

查看项目

更新于 10-15 23:29

技能介绍

用途:为 WebContainer 的启动与能力建立单一应用级边界,使启动幂等、暴露明确运行时状态、跟踪事件退订与进程,并阻止 UI 组件独立操作共享实例。

主要能力:缓存 boot promise 而非仅缓存已解析实例,防止并发调用触发两次启动;建模 idle、booting、ready、failed、disposed 等状态并暴露非法转换;保留 on() 返回的退订函数与 spawn() 返回的句柄;将文件系统写入与 export() 视为显式数据操作,路径与大小由调用方约束;teardown() 使实例、进程与文件系统失效,仅在永久所有者边界调用;预览插桩优先放在被服务应用中,setPreviewScript 需先评估其高级特性警告与兼容风险。

使用方式:先用 Read、Glob、Grep 盘点所有 WebContainer 导入、boot 调用、事件监听、进程句柄、文件系统写入与销毁路径;WebFetch 仅用于查阅官方 StackBlitz 或 WebContainers 文档;在提出适配器边界与兼容性影响后再用 Write 或 Edit。工作流包括定义状态机与最小方法、集中单一 boot promise、包装 spawn 与订阅、补充并发/失败/HMR/销毁测试,再逐步迁移消费者。

适用场景:多个 React 等 UI 组件各自调用 boot() 时,替换为一个经测试的适配器,由缓存 promise 持有运行时,组件获得受限的文件系统、进程与订阅能力。

限制:适配器可接受已解析配置,但不得通过状态、日志、错误或浏览器存储暴露密钥;商业密钥与组织认证应在适配器启动前经专用预检层初始化。未获明确范围不得迁移全部消费者、更改持久化/导出行为、终止活动进程或改动生产预览插桩;替换现有运行时单例前需给出兼容计划与回滚方案。安装的 @webcontainer/api 类型定义是本地 API 权威,与文档不一致时以固定本地类型为准。具体命令与代码示例资料未提供。