TypeScript

Turbopack 的 TypeScript 开箱即用,意味着你可以在 Turbopack 导入 .ts 文件。我们支持所有 TypeScript 的功能特性。我们还支持 JSX,你也可以导入 .tsx

解析 pathsbaseUrl

在 TypeScript 中,你可以通过配置 tsconfig.jsonpaths 属性,来导入自定义路径的文件。

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
        "app/*": ["app/*"],
        "config/*": ["app/_config/*"],
        "shared/*": ["app/_shared/*"],
    },
}

这样,你就可以直接从 app/* 目录导入文件,而非使用相对路径进行导入。

src/app/some/deep/file/in/your/app.ts
- import { add } from '../../../../../math';
+ import { add } from 'app/math';
 
add();

Turbopack 通过读取 tsconfig.jsonpathsbaseUrl 属性,来解析这些路径,就和 Next.js 一样。

这意味着你只需要在一个地方完成绝对路径的配置。

类型检查

Turbopack 不对你的应用进行类型检查,而 SWC 只用于编译 TypeScript 代码,同样不进行类型检查。

也就是说若要进行类型检查,你需要执行 tsc --watch 另外打开一个进程,或者直接使用 IDE 自带的 TypeScript 功能。