You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VITE v8.2.0 ready in 389 ms
(!) Failed to run dependency scan. Skipping dependency pre-bundling. Error: The following dependencies are imported but could not be resolved:
@object-ui/mobile (imported by .../packages/plugin-list/src/ListView.tsx)
@object-ui/providers (imported by .../packages/app-shell/src/views/RecordAttachmentsPanel.tsx)
@object-ui/sdui-parser (imported by .../packages/components/src/renderers/layout/page.tsx)
@object-ui/plugin-editor (imported by .../packages/app-shell/src/views/metadata-admin/widgets.tsx)
@object-ui/react-runtime (imported by .../packages/components/src/renderers/layout/react-page.tsx)
把这 5 个包补进 vite.config.ts 的别名表 —— 与现有 24 条同构,pnpm dev 从此不依赖 dist,对 example 的"开箱即跑"最直接。
把它们补进 examples/console-starter/package.json 的 dependencies —— 与 vite.config.ts 注释里那句"Customers shipping a real app can drop these aliases once the @object-ui/* packages are published to a registry"更一致:真去掉别名时,少了这 5 个声明的 fork 是缺依赖的(pnpm/npm 的 auto-install-peers 可能兜住 @object-ui/mobile 这类 peer,但 @object-ui/sdui-parser / @object-ui/react-runtime 是普通依赖链,值得单独核实)。
越界发现,记录于 #3520(给
examples/console-starter写 README)期间的实测启动。未在该 PR 中顺手修改;PR #3524 的 README 已把"必须先pnpm -w build"如实写进"How to run",所以这是打磨类发现,不是今天会挡住按文档操作的读者的缺陷 —— 标finding,不排队。现象
examples/console-starter/vite.config.ts把 24 个@object-ui/*specifier 别名到packages/*/src,注释写明用意是让插件的 side-effect 注册命中同一个ComponentRegistry单例。但这些src文件自己又 import 了 5 个既不在别名表、也不在examples/console-starter/package.json里的工作区包:@object-ui/mobilepackages/plugin-list/src/ListView.tsx@object-ui/providerspackages/app-shell/src/views/RecordAttachmentsPanel.tsx@object-ui/sdui-parserpackages/components/src/renderers/layout/page.tsx@object-ui/plugin-editorpackages/app-shell/src/views/metadata-admin/widgets.tsx@object-ui/react-runtimepackages/components/src/renderers/layout/react-page.tsx这 5 个包只能退回 node 解析,落到
packages/*/dist—— 而dist只有构建之后才存在。实测
在
origin/main的干净 worktree 里,只pnpm install(不pnpm -w build)后pnpm dev(自选空闲端口 5197):src/main.tsx里import '@object-ui/plugin-list'是急切的,而plugin-list/src/index.tsx又急切import { ListView } from './ListView',所以这条链一定会被浏览器走到:无头 Chromium 打开
http://localhost:5197/:HTTP 200,但#root的 innerHTML 长度为 0,document.body.innerText为空字符串,控制台是 6 条 500 —— 纯白屏,页面上没有任何提示。补上这 5 个包(及其依赖)的构建后重启,同一页面正常渲染出品牌加载屏(
ObjectOS / Initializing application... / Connecting to data source)。所以根因就是dist缺失,不是别的。为什么标
finding而不是缺陷examples/README.md与根README.md都已写明启动顺序是pnpm install→pnpm -w build→cd examples/... && pnpm dev,按文档走不会踩到。踩到的是跳过构建的人 —— 而失败现场(白屏 + 无文案)完全不指认根因,这是它值得记一笔的地方。可选的处理方向(不预设结论)
vite.config.ts的别名表 —— 与现有 24 条同构,pnpm dev从此不依赖dist,对 example 的"开箱即跑"最直接。examples/console-starter/package.json的dependencies—— 与vite.config.ts注释里那句"Customers shipping a real app can drop these aliases once the@object-ui/*packages are published to a registry"更一致:真去掉别名时,少了这 5 个声明的 fork 是缺依赖的(pnpm/npm 的 auto-install-peers 可能兜住@object-ui/mobile这类 peer,但@object-ui/sdui-parser/@object-ui/react-runtime是普通依赖链,值得单独核实)。方向 1 与 2 不互斥;哪个是长期正确取决于这个 example 到底承诺"在 monorepo 里能跑"还是"fork 出去能跑",这是维护者的判断,故此单不预设。
备注:查重未能完成
立单时
list_issues持续返回API rate limit already exceeded(共享 GitHub 身份,多 agent 并行),约 20 分钟冷却后仍未恢复,因此未能对 open issues 做关键字/文件路径查重。若已有同源单,请按惯例 race-close 本单。Generated by Claude Code