能力展示
可删除的能力目录及其完整删除步骤。
能力展示(Showcase)是一个可删除的演示层:一份模板能力目录、一个组件画廊,以及
若干实时交互演示。每个部分都标记为 [template-demo],并受两个标志开关控制,因此
你可以在没有它的情况下预览你的应用,然后一次性干净地删除它。
出厂内容
| 界面 | 位置 | 是什么 |
|---|---|---|
| 能力目录 | app/showcase/capability-catalog.ts | 27 项能力,分为五大类别——shell、system、data、commerce、ops——每项都链接到一个演示以及可阅读的源文件。 |
| 组件画廊 | app/routes/showcase/components/ | shadcn/ui 构建块的实时画廊(/showcase/components)。 |
| 实时演示 | app/routes/showcase/demos/ | 11 个交互式演示组件,每个都兼作其子系统的手动测试。 |
这 11 个演示是:窗口、托盘、通知、快捷键、深度链接、安全存储、备份/诊断、文件
编辑器、待办、主题/i18n,以及一个占位演示(用于没有专属交互演示的目录项)。每个
演示都是确认某子系统能工作的最快方式——例如通知演示会展示一次 notify() 调用的
确切 { ok, reason } 结果。
两个成对的标志
能力展示由两个必须保持同步的标志控制——每个进程一个——因为演示层既有渲染进程 界面,也有一个原生菜单:
VITE_SHOWCASE_ENABLED=false # 渲染进程:路由、侧边栏、首页、命令面板
MAIN_VITE_SHOWCASE_ENABLED=false # 主进程:原生模板菜单两者默认开启并被集中读取——VITE_SHOWCASE_ENABLED 经由 shared/config.ts
中的 showcaseConfig,MAIN_VITE_SHOWCASE_ENABLED 经由
lib/main/feature-flags.ts。请让它们保持一致,使渲染进程外壳与原生模板菜单
同进同退。
两个 showcase 标志都未列入 .env.example,但都在代码中被读取且默认开启。当你
想关闭演示层时,把它们加入你的 .env。参见
环境变量。
移除它
按 docs/CUSTOMIZE.md 的这个步骤操作。预览这一步是关键——它能在你删除任何
东西之前证明应用仍可工作。
关闭两个标志
VITE_SHOWCASE_ENABLED=false
MAIN_VITE_SHOWCASE_ENABLED=false预览
运行应用,确认模板侧边栏区域、演示路由、命令面板的 showcase 分组、原生模板菜单 以及首页的 showcase 版块都已消失。应用的其余部分应照常工作。
删除仅供演示的文件夹
rm -rf app/routes/showcase app/showcase移除 [template-demo] 触点
从核心文件中剥除这些小的演示挂钩:
app/app.tsx中的features.showcase路由块与 showcase 懒加载导入。app/components/layout/sidebar-items.ts中的template侧边栏分组。command-sources.ts中的showcaseSource与目录导入,以及CommandPalette.tsx中的showcaseEnabled接线。HomePage.tsx中源自 showcase 的首页版块与目录导入。lib/main/menu.ts中的模板菜单块。shared/config.ts、lib/main/feature-flags.ts与lib/main/main.ts中的 showcase 标志管道。lib/conveyor/schemas/event-schema.ts中的/showcase*路由项。app/lib/i18n/resources.ts中的 showcase 语言包导入/注册。app/index.d.ts中的VITE_SHOWCASE_ENABLED环境类型。- showcase 专属测试,以及在无人读取后清理
app/locales/*/common.json中的 showcase 文案。
删除 showcase 语言文件
rm app/locales/en/showcase.json app/locales/zh/showcase.json审计并验证
rg "template-demo" # 应当没有任何残留
pnpm lint:check && pnpm typecheck && pnpm test随后把你自己的页面加入工作区侧边栏分组,并在 app/app.tsx 中注册它们的路由——
参见界面与页面。
