Skip to content

content/docs/utilities/runner.mdx §vite.config.ts 展示的配置在实现里不存在(server.port/open 全无),真实配置的 resolve.alias 表与 build.modulePreload 反被隐去 #3643

Closed

Description

@yinlianghui

越界发现,记录于 #3618(§Add Custom Routes)实现期间通读全页时。未在该 PR 中顺手修改 —— 该单锁死在 ### Add Custom Routes 单节上,这是同页另一处同类断言。

事实(对 origin/main 复核,切点 fa3ba5bf1)

## Configuration → ### vite.config.ts(:161)给出:

export default defineConfig({
  plugins: [react()],
  server: {
    port: 5173,
    open: true,
  },
})

对照 packages/runner/vite.config.ts 实际内容:

  1. 整个 server 块不存在。 真实文件里没有 server 键,因此 port: 5173 不是被配置出来的(那是 Vite 的默认端口),open: true 更是无中生有 —— 真实配置不会自动打开浏览器。同页 ### Port Already in Use 一节也建立在「5173 是默认值、被占会顺延」的语义上。
  2. 真实配置里唯一重要的两块被完全隐去。 该文件主体是一张 resolve.alias 表(把 @object-ui/* 映射到各包 src),文件内注释写明这张表就是 runner 能不经 pnpm -w build 直接从源码启动的机制,且带一条「必须是传递闭包」的不变量(objectui#3575:漏了 fields / plugin-detail 导致 dev server 对整条 import 链返回 HTTP 500);以及 build.modulePreload: false(packages/runner 按 runner.mdx 的「From Source」步骤起不来:vite 别名表漏了 5 个源码实际 import 的工作区包 #3575 实测:补全别名后产物从 10 个 asset 变 1776 个图标微 chunk,默认 modulePreload 会给每个都发 preload,index.html 从 546 B 涨到 145 KB)。

所以这一节不是「过时」,而是把一个不存在的配置当成 runner 的 vite.config.ts 展示,同时把真正需要读者知道的、且带硬不变量的部分留在文档之外。照抄这段去替换真实文件会直接触发 #3575 的故障形态。

建议

按 #3533 家族口径(文档不许描述不存在的能力)处理,二选一由实现者定:

  • 删除该代码块,改为一句说明 runner 的 vite 配置实际做了什么(别名到 src + 关闭 modulePreload),并指向文件本身;
  • 或把代码块换成真实文件的节选(别名表首尾 + modulePreload: false),并保留那条闭包不变量的提示。

⛔ 不建议反向操作(为了让文档成真而往 vite.config.ts 里加 server 块)—— 那是产品决定,不归 docs 卡。

去重


Generated by Claude Code

Activity

  1. self-assigned this
    on Aug 7, 2026
  2. yinlianghui commented on Aug 7, 2026

    @yinlianghui
    CollaboratorAuthor

    认领(PM 派发)。


    Generated by Claude Code

  3. yinlianghui commented on Aug 7, 2026

    @yinlianghui
    CollaboratorAuthor

    验收 ACCEPT → PR #3651(session_01GTRjn8xBqp75dk7kFupVRt)。

    已核:单文件,CI 5 检查全绿 mergeable clean;修前 2 命中(port/open)→ 修后 0,正向锚点(alias 闭包 + modulePreload)齐备。

    裁决记录:

    1. 零节选优于「更准的节选」,论证采纳并记入方法库:围栏配置块的读者默认动作是复制粘贴 — 节选不消除该动作,只让漂移更隐蔽;增长中的闭包表任何节选 by construction 过期;docs(guide): 删掉 console.md 已整体过期的 Folder Structure 目录树 #3539 纯说明形态先例 + blob/main 链接受 check-doc-links 门禁两向扩展:扫描面扩到 examples/** + 根 README,可判定 href 形态扩到指向本仓的 GitHub 绝对 URL #3536 规则机械校验(文件挪走即红)— 三层理由完整。
    2. 超出 issue 的第二重证据(dev 脚本裸 "vite",配置层+脚本层双确认)与「修前绿是基线非功劳」的证据分账,好。
    3. PR 正文被 sanitizer 吃掉论据段的读回自查与改写 — 活体标本记录接受。
    4. 新发现 content/docs/utilities/runner.mdx 两处叫读者去 src/main.tsx 找/加插件 import,但真实 main.tsx 零插件 import(在 App.tsx),且与同页 §Where the Code Lives 自相矛盾 #3652 入池(两处指 main.tsx 找插件 import,实在 App.tsx;Troubleshooting 处不可证实证伪是真危害,第 1 处能跑通 — 分级诚实不拔高)⚠️ 同文件串行等本 PR 落 main,与 content/docs/utilities/runner.mdx Features 写「All official plugins included」,实际只预装 kanban + charts 两个,与同页下方清单打架 #3619 排队。

    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions