{ "compilerOptions": { /* 基本選項 */ "target": "es5", // 指定 ECMAScript 目標版本: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT' "module": "commonjs", // 指定使用模塊: 'commonjs', 'amd', 'system', 'umd' or 'es2015' "lib": [], // 指定要包含在編譯中的庫文件 "allowJs": true, // 允許編譯 javascript 文件 "checkJs": true, // 報告 javascript 文件中的錯誤 "jsx": "preserve", // 指定 jsx 代碼的生成: 'preserve', 'react-native', or 'react' "declaration": true, // 生成相應的 '.d.ts' 文件 "sourceMap": true, // 生成相應的 '.map' 文件 "outFile": "./", // 將輸出文件合並為一個文件 "outDir": "./", // 指定輸出目錄 "rootDir": "./", // 用來控制輸出目錄結構 --outDir. "removeComments": true, // 刪除編譯后的所有的注釋 "noEmit": true, // 不生成輸出文件 "importHelpers": true, // 從 tslib 導入輔助工具函數 "isolatedModules": true, // 將每個文件做為單獨的模塊 (與 'ts.transpileModule' 類似). /* 嚴格的類型檢查選項 */ "strict": true, // 啟用所有嚴格類型檢查選項 "noImplicitAny": true, // 在表達式和聲明上有隱含的 any類型時報錯 "strictNullChecks": true, // 啟用嚴格的 null 檢查 "noImplicitThis": true, // 當 this 表達式值為 any 類型的時候,生成一個錯誤 "alwaysStrict": true, // 以嚴格模式檢查每個模塊,並在每個文件里加入 'use strict' /* 額外的檢查 */ "noUnusedLocals": true, // 有未使用的變量時,拋出錯誤 "noUnusedParameters": true, // 有未使用的參數時,拋出錯誤 "noImplicitReturns": true, // 並不是所有函數里的代碼都有返回值時,拋出錯誤 "noFallthroughCasesInSwitch": true, // 報告 switch 語句的 fallthrough 錯誤。(即,不允許 switch 的 case 語句貫穿) /* 模塊解析選項 */ "moduleResolution": "node", // 選擇模塊解析策略: 'node' (Node.js) or 'classic' (TypeScript pre-1.6) "baseUrl": "./", // 用於解析非相對模塊名稱的基目錄 "paths": {}, // 模塊名到基於 baseUrl 的路徑映射的列表 "rootDirs": [], // 根文件夾列表,其組合內容表示項目運行時的結構內容 "typeRoots": [], // 包含類型聲明的文件列表 "types": [], // 需要包含的類型聲明文件名列表 "allowSyntheticDefaultImports": true, // 允許從沒有設置默認導出的模塊中默認導入。 /* Source Map Options */ "sourceRoot": "./", // 指定調試器應該找到 TypeScript 文件而不是源文件的位置 "mapRoot": "./", // 指定調試器應該找到映射文件而不是生成文件的位置 "inlineSourceMap": true, // 生成單個 soucemaps 文件,而不是將 sourcemaps 生成不同的文件 "inlineSources": true, // 將代碼與 sourcemaps 生成到一個文件中,要求同時設置了 --inlineSourceMap 或 --sourceMap 屬性 /* 其他選項 */ "experimentalDecorators": true, // 啟用裝飾器 "emitDecoratorMetadata": true // 為裝飾器提供元數據的支持 } }