使用ts paths和index.ts来减轻导入复杂度
-
使用 ts paths 来简化层级导入。比如将
../../../store
、../../store
和../store
统一成@/store
-
使用 index.ts 来归并文件夹内的导出,将从单文件导入改成从文件夹导入。
-
将默认导出改成具名导出。比如:
// 具名导出
export const add = (a, b) => a + b;
// 默认导出
export default subtract = (a, b) => a - b;
具名导出有几个好处:
- 比如上面的代码,如何决定哪个是默认哪个不是默认是个问题,同时在使用一个库时,要知道哪个是默认导出通常得去翻源码
- 优化 IDE 提示
- 默认导出在使用时可以乱命名,比如使用上面的模块把 subtract 标成 add 也没人知道
- 同时一个项目里使用同一个模块的默认导出可能会用不同的名字,或者同一个模块使用不同风格的命名方式,这些都会带来不必要的困扰
- 重构代码时,具名导出很好通过重构工具重命名,而默认导出则不行