|
还是有点矫枉过正了,看了原文,也收集了相关资料给 AI 评估,AI 的结论和我的想法是一致的
不能一概而论,日常使用 angular 作为基础框架,它里面就有各种黑魔法
这段评论没有测试数据支持,也只能算空对空的讨论
下面贴一段 AI 答复,和我结论是一致的,但比我表述的更清楚
```
所以,我的核心问题,下面的表述到底对不对?
```
```
如果用代码说话,你不应该使用这样的写法
import { a, type B } from '@/x'
而是删掉你的 index.ts ,换成
import { a } from '@/x/a'
import type B from '@/x/b'
```
```
你的这段表述方向上正确,但不是“放之四海皆准”。更准确的说法是:
- 在大型应用/仓库里:删掉 index.ts 、改成直达路径导入,通常更快、更清晰、依赖更可控。
- 在库( library )对外 API 聚合场景:保留 index.ts 作为入口更合理(对外稳定 API 面)。
- 在小项目或强缓存工具链下:差异可能不明显,但直达导入依然更透明。
所以你的写法更像强烈建议,而不是“唯一正确”。建议改成:
> “在应用代码中尽量避免 barrel ,改成直达导入;库的公共入口除外。”
另外两个细节:
- import type 也会参与模块解析,并不一定避免模块图膨胀。
- 不同 bundler/配置表现不同,所以“必然更快”不严谨,但大项目里通常更快是成立的。
如果你想,我可以把这段话润色成一段更严谨、可直接引用的版本。
``` |