{ "compilerOptions": { "allowUnreachableCode": true, // 不報告執行不到的代碼錯誤。 "allowUnusedLabels": false, // 不報告未使用的標簽錯誤 "alwaysStrict": false, // 以嚴格模式解析並為每個源文件生成 "use strict"語句 "baseUrl": ".", // 工作根目錄 "experimentalDecorators": true, // 啟用實驗性的ES裝飾器 "jsx": "react", // 在 .tsx文件里支持JSX "sourceMap": true, // 是否生成map文件 "module": "commonjs", // 指定生成哪個模塊系統代碼 module”選項的參數必須為 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'esnext' "strict": true, //所有嚴格檢查的總開關 "noImplicitAny": true, // 不允許隱式的any類型 "noImplicitThis": true, // 不允許使用不明確類型的this "strictNullChecks": true, //嚴格檢查空值 "removeComments": true, // 是否移除注釋 "types": [ //指定引入的類型聲明文件,默認是自動引入所有聲明文件,一旦指定該選項,則會禁用自動引入,改為只引入指定的類型聲明文件,如果指定空數組[]則不引用任何文件 "node", // 引入 node 的類型聲明 ], "paths": { // 指定模塊的路徑,和baseUrl有關聯,和webpack中resolve.alias配置一樣 "src": [ //指定后可以在文件之直接 import * from 'src'; "./src" ], }, "target": "ESNext", // 編譯后的代碼版本 "ES3", "ES5", "ES6", "ES2015", "ES2016", "ES2017", "ES2018", "ES2019", "ES2020", "ESNext" "outDir": "./dist", // 輸出目錄 "outFile":"./dist/index.js",//outFile 僅支持module "amd" 和 "system" 模塊 "declaration": true, // 是否自動創建類型聲明文件 "declarationDir": "./lib", // 類型聲明文件的輸出目錄 "allowJs": true, // 允許編譯javascript文件。 "checkJs": true,//是否檢測js是否符合ts語法,默認false "noEmit": false,//是否生成編譯后的代碼 true:不生成;false生成 "noEmitOnError": true.//語法報錯時,不生成編譯后的代碼 "lib": [ //(默認值夠用了)編譯過程中需要引入的庫文件的列表 "es5", "es2015", "es2016", "es2017", "es2018", "dom" ] }, // 指定一個匹配列表(屬於自動指定該路徑下的所有ts相關文件) "include": [ "ts/*" ], // 指定一個排除列表(include的反向操作) "exclude": [ "test.ts","node_modules" ], // 指定哪些文件使用該配置(屬於手動一個個指定文件) "files": [ "demo.ts" ] }