rankangkang / issues

cmkk's blog on github issue
0 stars 0 forks source link

tsconfig.json 解析 #3

Open rankangkang opened 8 months ago

rankangkang commented 8 months ago

使用 ts 开发就免不了要接触 tsconfig 配置,如果你在 github 上面 clone 一个 ts 项目到本地或是自己创建一个,安装之后点击打开 tsconfig.json 大概率会看到首行飘红。(别问,问就是 experience)。

1、tsconfig.json 作用

2、tsconfig.json 重要字段

3、注意事项

rankangkang commented 8 months ago

4、关于交叉依赖

当你的 ts 项目 A 依赖另一个 ts 项目 B 时,如果你需要对项目 A 进项调试或打包,name你必须先编译 B。在没有“魔法”情况下,我们只能手动的做这件事。

对此,ts 提供了 referrence(依赖项目设置) 与 composite(被依赖项目设置)配置来解决依赖编译的问题。

// project A tsconfig.json
{
   // ...
   "references": [
      { "path": "path/to/project/B/tsconfig.json" },
    ],
}

// project B tsconfig.json
{
   "compilerOptions": {
     // ...
     "composite": true, // 使用references 字段引入的配置文件需要设置 composite: true
   },
}

然后在编译时 A 时增加 --build 选项,在 A 编译的同时,B 也会被编译

https://juejin.cn/post/7165429078470688781

rankangkang commented 8 months ago

finally,常用的 tsconfig 配置

参见 https://github.com/tsconfig/bases

rankangkang commented 8 months ago

btw,ts 常用但未内置的联合类型

参见 utility-types: https://github.com/piotrwitek/utility-types