tsconfig 各項解說

tsconfig 各項解說

Date
Apr 20, 2023
Property
Medium
Created by
Status
Done
Tags
typescript
tsconfig
這是一份常見的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/ 的映射,方便導入時的路徑簡化。