TypeScript
在 Bun 中使用 TypeScript,包括类型定义和编译器选项
要获取 Bun 内置 API 的 TypeScript 类型定义,请安装 @types/bun。
terminal
bun add -d @types/bun # 开发依赖
现在,你可以在 TypeScript 文件中引用 Bun 全局变量,编辑器不会再报错。
推荐的 compilerOptions
Bun 支持顶层 await、JSX 以及带有 .ts 扩展名的导入,而 TypeScript 默认不允许这些特性。在 Bun 项目中使用以下 compilerOptions,这样 TypeScript 就不会针对这些特性发出警告。
tsconfig.json
{
"compilerOptions": {
// 环境配置 & 最新特性
"lib": ["ESNext"],
"target": "ESNext",
"module": "Preserve",
"moduleDetection": "force",
"jsx": "react-jsx",
"allowJs": true,
"types": ["bun"],
// 打包器模式
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
// 最佳实践
"strict": true,
"skipLibCheck": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
// 一些更严格的标志(默认禁用)
"noUnusedLocals": false,
"noUnusedParameters": false,
"noPropertyAccessFromIndexSignature": false
}
}
在新目录中运行 bun init 会为你生成此 tsconfig.json 文件。
terminal
bun init
TypeScript 6 和 7
如果你使用的是 TypeScript 6.0 或更高版本,还需要在 compilerOptions 中添加 "types": ["bun"]。请参阅TypeScript 6 和 7。