Skip to content

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

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions