越界发现,记录于 #3533(删除 runner.mdx 中教两个 runner 不读的环境变量的整节)的实现过程中。未在该 PR 中顺手实现 —— 该单的文件面锁在「删除错误内容 + 改一处读法」,新增文档属另一件事(PM 分诊时已预留:「若 runner 本该有 API 基址配置面,那是缺失的实现,另立单」)。
事实
@object-ui/runner 确实一个环境变量都不读(这是 #3533 的前提,已复核通过,范围比原单更宽 —— 整个包而不只是 src):
$ grep -rn "import.meta.env|process.env|loadEnv|VITE_" packages/runner --exclude-dir=node_modules --exclude-dir=dist
(无输出)
但它有一个真实、可用的 API 基址配置面 —— URL 查询参数 api,见 packages/runner/src/App.tsx:43-57:
const params = new URLSearchParams(window.location.search);
const apiUrl = params.get('api');
// IF ?api=... is present, use Network Loader
if (apiUrl) {
console.log('🔌 Using Network Loader:', apiUrl);
return new NetworkLoader(apiUrl);
}
// ELSE use bundled files (Local Development)
return new LocalBundleLoader();
NetworkLoader 把该值当作 baseUrl(packages/runner/src/lib/MetadataLoader.ts:75-96,构造签名 constructor(baseUrl: string = '/api')),据此去取 ${baseUrl}/app.json 与 ${baseUrl}/pages{path}.json。
问题
这个真实能力在全仓文档里零处记载:
$ grep -rn "?api=" content/ → 无输出
$ grep -n "?api|NetworkLoader|LocalBundleLoader" content/docs/utilities/runner.mdx → 无输出
$ grep -n "VITE_|?api|env" packages/runner/README.md → 无输出
失败形态与 #3533 互为镜像:#3533 是文档教了实现里不存在的东西,本单是实现里有的东西文档一个字没写。读者想把 runner 指向自己的 API,照 runner.mdx 找不到任何入口 —— 且在 #3533 删掉那节错误的 "Environment Variables" 之后,该页关于 API 基址的指引为零(删除是对的:文档不许描述不存在的能力;但由此暴露出真实能力从来没被写过)。
建议
在 content/docs/utilities/runner.mdx 的 Configuration 一节补一段真实的加载策略说明(带 api 查询参数 → NetworkLoader 走远端;缺省 → LocalBundleLoader 用打包进去的本地 JSON),并同步 packages/runner/README.md。纯文档补全,不涉及实现改动。
备注
按席位纪律,查重由 PM 座位统一执行(共享 GitHub 身份有速率限制,dev 席位不重复 search)。若已有同源单请 race-close 本单。
Blocked-by: #3538
Generated by Claude Code
越界发现,记录于 #3533(删除
runner.mdx中教两个 runner 不读的环境变量的整节)的实现过程中。未在该 PR 中顺手实现 —— 该单的文件面锁在「删除错误内容 + 改一处读法」,新增文档属另一件事(PM 分诊时已预留:「若 runner 本该有 API 基址配置面,那是缺失的实现,另立单」)。事实
@object-ui/runner确实一个环境变量都不读(这是 #3533 的前提,已复核通过,范围比原单更宽 —— 整个包而不只是src):但它有一个真实、可用的 API 基址配置面 —— URL 查询参数
api,见packages/runner/src/App.tsx:43-57:NetworkLoader把该值当作baseUrl(packages/runner/src/lib/MetadataLoader.ts:75-96,构造签名constructor(baseUrl: string = '/api')),据此去取${baseUrl}/app.json与${baseUrl}/pages{path}.json。问题
这个真实能力在全仓文档里零处记载:
失败形态与 #3533 互为镜像:#3533 是文档教了实现里不存在的东西,本单是实现里有的东西文档一个字没写。读者想把 runner 指向自己的 API,照
runner.mdx找不到任何入口 —— 且在 #3533 删掉那节错误的 "Environment Variables" 之后,该页关于 API 基址的指引为零(删除是对的:文档不许描述不存在的能力;但由此暴露出真实能力从来没被写过)。建议
在
content/docs/utilities/runner.mdx的 Configuration 一节补一段真实的加载策略说明(带api查询参数 → NetworkLoader 走远端;缺省 → LocalBundleLoader 用打包进去的本地 JSON),并同步packages/runner/README.md。纯文档补全,不涉及实现改动。备注
按席位纪律,查重由 PM 座位统一执行(共享 GitHub 身份有速率限制,dev 席位不重复 search)。若已有同源单请 race-close 本单。
Blocked-by: #3538
Generated by Claude Code