Skip to content

Commit 1974c1f

Browse files
committed
doc: docs
1 parent aea1582 commit 1974c1f

5 files changed

Lines changed: 3 additions & 252 deletions

File tree

docs/ESLint-Cheatsheet.md

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -201,15 +201,4 @@ npx eslint --cache "path/to/file.jsx" || true
201201

202202
- 如果需要把所有文件问题导出并在本地用编辑器跳转,优先使用 JSON 输出并在 VS Code 中安装 ESLint 扩展加载 `eslint-report.json`
203203

204-
---
205-
206-
## 我在本次修复会话中记录的部分示例结果
207-
(仅为会话快照,具体数字会随代码修改波动)
208-
209-
- `src/components/KeepAlive/index.jsx` — 11 problems(曾为最高)
210-
- `src/components/stateless/ReMarkdown/index.jsx` — 5 problems
211-
- `src/pages/chatgpt/index.jsx` — 最初 5 problems,已在会话中修复多数
212-
213-
---
214-
215-
如需我把当前仓库的完整按文件问题统计(`eslint-by-file.txt`)生成并提交到仓库根目录,回复“是”,我会立刻运行并把文件写入。
204+
---

docs/SENTRY-CI.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,3 @@ jobs:
5050
注意
5151
- `SENTRY_DSN` 是前端运行时用来发送事件的 DSN;`SENTRY_AUTH_TOKEN` 是 CI 用来上传 artifacts(source maps / releases)的私密 token,两者用途不同,不要混淆。
5252
- 我们的 `src/utils/sentry/index.js` 会优先使用 `process.env.SENTRY_DSN`,并允许在运行时代码中通过环境变量或构建时间注入替换。
53-
54-
如需我:
55-
- 可以把这段内容合并到 `README.md` 的“部署”或“CI”节;或创建更详细的 `docs/` 页面并添加示例 workflow(我可以代为修改)。

docs/VIDEO_PLAYER_IMPROVEMENTS.md

Lines changed: 0 additions & 170 deletions
This file was deleted.

docs/build-and-bundle-optimizations.md

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -75,41 +75,4 @@
7575
- 路径形态:一般为根路径 `/`
7676
- 受影响点:
7777
- 如果 Vercel 使用 Webpack 构建,需要确保它执行的是 `npm run build:production`
78-
- 若 Vercel 构建阶段运行音视频压缩:会增加构建耗时;并且 Vercel 的缓存策略可能导致压缩收益不稳定
79-
80-
## 建议继续推进(未必已在当前仓库落地)
81-
82-
> 下面是“包体/首包”治理的常见下一步方向,是否落地请以当前代码为准。
83-
84-
### A) CI 默认跳过音视频压缩(推荐)
85-
86-
动机:GitHub Actions/Vercel 的构建通常更希望“快且可重复”,而压缩属于离线资产加工,更适合:
87-
88-
- 本地开发/专门的 asset pipeline 运行
89-
- 或者只在需要更新素材时才运行(通过手动触发/环境变量强制)
90-
91-
建议策略:
92-
93-
- CI 环境检测到 `CI=true` / `GITHUB_ACTIONS=true` / `VERCEL=1` 时,跳过 `optimize:media`
94-
- 通过 `OPTIMIZE_MEDIA=1` 强制开启
95-
96-
### B) 首包(app chunk)大依赖拆分
97-
98-
常见大头:
99-
100-
- `antd` / `@ant-design/icons`(barrel import 容易把聚合入口带进首包)
101-
- `lucide-react`(从包入口导入多个图标时,容易把图标集合带进首包)
102-
- `html2canvas`(截图/PDF 导出这类能力不应进入首屏)
103-
- `react-markdown` + `remark/rehype` + `katex/highlight`(仅 markdown 页面需要)
104-
105-
建议手段:
106-
107-
- 图标改为“单文件导入”或“按图标模块导入”
108-
-`html2canvas`、markdown/katex runtime 改为动态 import(按页面或按功能触发加载)
109-
- 收敛路由 preload(避免重页面被预取进首包)
110-
111-
## 如何验证优化是否生效
112-
113-
- 资源体积:对比 `dist/` 目录中图片/音视频体积(尤其是 `dist/static/js``dist/images``dist/audio`)。
114-
- Webpack performance:观察生产构建输出的 performance hints。
115-
- 包体归因:使用 `npm run analyze:build` / `npm run analyze:stats` 生成 stats,再按 entrypoint/app chunk 追踪主要模块来源。
78+
- 若 Vercel 构建阶段运行音视频压缩:会增加构建耗时;并且 Vercel 的缓存策略可能导致压缩收益不稳定

docs/components-index.md

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -62,32 +62,4 @@
6262
2. (可选)若你同时维护了 `src/components/index.ts``npm run check:components-index` 通过(避免漏加/写错导出路径)
6363
3. `npm run build:lib` 成功(产物 + d.ts)
6464
4. 如果该组件有样式(`.module.less/.css`),在消费侧能正常引入
65-
5. 如果该组件依赖路由/i18n 等上下文,在 Storybook 里可正常预览(可选,但建议)
66-
67-
## 常见问题
68-
69-
### Q1: 为什么我新增了组件但打出来的 lib 里没有?
70-
71-
因为 `vite.config.lib.ts` 的入口是 `src/lib/index.ts`
72-
73-
- 你没在这里 export → Rollup 不会把它当作库 API 打包
74-
- dts 插件也不会把它作为入口类型导出到 `dist-lib/index.d.ts`
75-
76-
### Q2: 新增组件放在 `src/components/OneTimePasscode/` 里,为何还要从 `stateless/OneTimePasscode` export?
77-
78-
`src/components/OneTimePasscode/` 这种目录在当前项目里主要是 **Storybook 文档/演示(mdx/stories)**
79-
真正组件实现位于 `src/components/stateless/OneTimePasscode/`,所以库入口应该导出实现目录,而不是导出 docs。
80-
81-
### Q3: 以后这个文件会越来越大,怎么维护更舒服?
82-
83-
建议遵循两条简单规则:
84-
85-
1. **只导出“要发布的公共 API”**(组件/类型/hooks),避免把 demo、页面级组件、内部路由壳导出。
86-
2. **新增组件就顺手加一行 export + 跑 build:lib**,用构建作为“验收”。
87-
88-
如果后续你希望进一步自动化,可以新增一个脚本(可选):
89-
90-
- 扫描 `src/components/stateless/*``src/components/stateful/*`
91-
- 生成(或校验)`src/components/index.ts`
92-
93-
但因为当前存在少量特殊导出(例如非 default 导出、注释掉的 export),完全自动生成需要先统一约定;否则更推荐“半自动校验”而不是强制重写文件。
65+
5. 如果该组件依赖路由/i18n 等上下文,在 Storybook 里可正常预览(可选,但建议)

0 commit comments

Comments
 (0)