這是一份常見的tsconfig.json
{ "compilerOptions": { "target": "es5", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx" }, "include": ["src"], "baseUrl": "./", "paths": { "@/*": ["./src/*"] } }
這是一份較完整的 TypeScript tsconfig 配置文件,以下是對其各部分的解釋:
compilerOptions:TypeScript 編譯器選項的配置,包括:target:JavaScript 目標版本,這裡是 ES5。
lib:指定在編譯時使用的庫,這裡包括 DOM、DOM 迭代器和 ESNext。
allowJs:是否允許編譯器編譯 JavaScript 代碼。
skipLibCheck:是否跳過庫的類型檢查。
esModuleInterop:是否允許 default imports。
allowSyntheticDefaultImports:是否允許編譯器生成 synthetic default imports。
strict:是否啟用嚴格的類型檢查。
forceConsistentCasingInFileNames:是否強制要求文件名的大小寫一致。
noFallthroughCasesInSwitch:是否禁止 switch 語句的 case 分支落空。
module:指定生成的模塊格式,這裡是 ESNext。
moduleResolution:指定模塊解析策略,這裡是 node。
resolveJsonModule:是否允許解析 JSON 模塊。
isolatedModules:是否啟用獨立模塊編譯模式。
noEmit:是否禁止編譯器生成任何輸出文件。
jsx:指定 JSX 的解析器。
include:要編譯的文件的目錄路徑,這裡是 src 目錄。baseUrl:用於解析非相對模塊名的基本目錄,這裡是當前目錄。paths:指定模塊名到基於 baseUrl 的路徑映射,這裡設置 @/ 到 ./src/ 的映射,方便導入時的路徑簡化。