這是一份常見的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/ 的映射,方便導入時的路徑簡化。