> 🏢 把春运火车站改造成 19 栋公寓楼
想象你走进图书馆,所有书堆在一个大厅里:科普、学术、小说、漫画——混在一起。你想找量子物理,结果钻进了一堆言情小说。这就是 easy-learn-ai 在 7 月 12 日之前的处境——一个 5005 行的 model.json,外加两个兄弟文件。
【直引】原帖:单文件 5005 行,OpenAI 一家占 38 个模型、阿里 28、字节 20……所有公司挤一个大厅。
【推论】这次重构的精髓不是「拆文件」,是三件事绑在一起的工程美学:
1. 分家:model.json 被拆成 19 个 JSON 文件,每家公司一栋公寓楼。
2. 自动收租:用 import.meta.webpackContext 一行代码,让 webpack 自动扫描 src/data/models/ 下所有 JSON、自动加载、自动合并——新公司来了,丢个文件就行,代码一行不改。
3. 类型安全网:在 src/env.d.ts 声明 WebpackModuleContext 接口——让 TypeScript 编译时帮你拦住错误。
举一个电子门禁的尺度作锚:
- 旧派:每层楼有自己的门禁卡,新增住户要请物业改中枢。
- 新派:每栋楼独立门禁,楼栋列表自动发现——加新住户就是「给他一张他自己楼栋的卡」。
> 小贴士·经验: > 当数据量超过一个屏幕能容纳时,分类不是优化,是生存必需。5000 行时不分,10000 行时想哭,20000 行时项目可能就死了。
钉子:好的架构不只让今天更省力——它让明天的自己说「谢谢」。