tsconfig.json配置文件
"incremental": true, // TS編譯器在第一次編譯之后會生成一個存儲編譯信息的文件,第二次編譯會在第一次的基礎上進行增量編譯,可以提高編譯的速度
"tsBuildInfoFile": "./buildFile", // 增量編譯文件的存儲位置
"diagnostics": true, // 打印診斷信息
"target": "ES5", // 目標語言的版本
"module": "CommonJS", // 生成代碼的模板標準
// 默認值 target === "es3" or "es5" ?"commonjs" : "es6"
"outFile": "./app.js", // 將多個相互依賴的文件生成一個文件,可以用在AMD模塊中,
// 即開啟時應設置"module": "AMD",
"lib": [], // 編譯時引入的 ES 功能庫,包括:es5 、es6、es7、dom 等。// 如果未設置,則默認為: target 為 es5 時: ["dom", "es5", "scripthost"]
//target 為 es6 時: ["dom", "es6", "dom.iterable", "scripthost"]
"allowJS": true, // 允許編譯器編譯JS,JSX文件
"checkJs": true, // 允許在JS文件中報錯,通常與allowJS一起使用
"outDir": "./dist", // 指定輸出目錄
"rootDir": "./", // 指定輸出文件目錄(用于輸出),用于控制輸出目錄結構
"declaration": true, // 生成聲明文件,開啟后會自動生成聲明文件
"declarationDir": "./file", // 指定生成聲明文件存放目錄
"emitDeclarationOnly": true, // 只生成聲明文件,而不會生成js文件
"sourceMap": true, // 生成目標文件的sourceMap文件
"inlineSourceMap": true, // 生成目標文件的inline SourceMap,//inline SourceMap會包含在生成的js文件中
"declarationMap": true, // 為聲明文件生成sourceMap
"typeRoots": [], // 聲明文件目錄,默認時node_modules/@types
"types": [], // 加載的聲明文件包
//如果指定了某個值, 她會在 typeRoots 下找這個包,找到了就只加載這個包
"removeComments":true, // 刪除注釋
"noEmit": true, // 不輸出文件,即編譯后不會生成任何js文件
"noEmitOnError": true, // 發送錯誤時不輸出任何文件
"noEmitHelpers": true, // 不生成helper函數,減小體積,需要額外安裝,常配合importHelpers一起使用
"importHelpers": true, // 通過tslib引入helper函數,文件必須是模塊
"downlevelIteration": true, // 降級遍歷器實現,如果目標源是es3/5,那么遍歷器會有降級的實現
"strict": true, // 開啟所有嚴格的類型檢查
"alwaysStrict": true, // 在代碼中注入'use strict'
"noImplicitAny": true, // 不允許隱式的any類型
"strictNullChecks": true, // 不允許把null、undefined賦值給其他類型的變量
"strictFunctionTypes": true, // 不允許函數參數雙向協變
"strictPropertyInitialization": true, // 類的實例屬性必須初始化
"strictBindCallApply": true, // 嚴格的bind/call/apply檢查
"noImplicitThis": true, // 不允許this有隱式的any類型
"noUnusedLocals": true, // 檢查只聲明、未使用的局部變量(只提示不報錯)
"noUnusedParameters": true, // 檢查未使用的函數參數(只提示不報錯)
"noFallthroughCasesInSwitch": true, // 防止switch語句貫穿(即如果沒有break語句后面不會執行)
"noImplicitReturns": true, //每個分支都會有返回值
"esModuleInterop": true, // 允許export=導出,由import from 導入
"allowUmdGlobalAccess": true, // 允許在模塊中全局變量的方式訪問umd模塊
"moduleResolution": "node", // 模塊解析策略,ts默認用node的解析策略,即相對的方式導入
"baseUrl": "./", // 解析非相對模塊的基地址,默認是當前目錄
"paths": { // 路徑映射,相對于baseUrl
// 如使用jq時不想使用默認版本,而需要手動指定版本,可進行如下配置
"jquery": ["node_modules/jquery/dist/jquery.min.js"]
},
"rootDirs": ["src","out"], // 將多個目錄放在一個虛擬目錄下,用于運行時,
//即編譯后引入文件的位置可能發生變化,
//這也設置可以虛擬src和out在同一個目錄下,不用再去改變路徑也不會報錯
"listEmittedFiles": true, // 打印輸出文件
"listFiles": true , // 打印編譯的文件(包括引用的聲明文件)
"jsx":"Preserve" //在 .tsx 中支持 JSX :React 或 Preserve
"jsxFactory":"" //默認值 React.createElement 。 jsx 設置為 React 時使用的創建函數
浙公網安備 33010602011771號