//tsconfig.json指定了用來編譯這個項目的根文件和編譯選項
{
"compilerOptions": { //compilerOptions:編譯選項,可以被忽略,這時編譯器會使用默認值
"allowSyntheticDefaultImports": true,//允許從沒有設置默認導出的模塊中默認導入。這並不影響代碼的顯示,僅為了類型檢查。
"baseUrl": "./src",//解析非相對模塊名的基准目錄
"emitDecoratorMetadata": true, //給源碼里的裝飾器聲明加上設計類型元數據
"experimentalDecorators": true,//啟用實驗性的ES裝飾器
"module": "commonjs", //指定生成哪個模塊系統代碼
"moduleResolution": "node", //決定如何處理模塊。或者是"Node"對於Node.js/io.js,或者是"Classic"(默認)
"noEmitHelpers": true,//不再輸出文件中生成用戶自定義的幫助函數代碼,如__extends。
"noImplicitAny": false, //在表達式和聲明上有隱含的any類型時報錯
"sourceMap": true, //用於debug ,生成相應的.map文件
"strictNullChecks": false,//在嚴格的null檢查模式下,null和undefined值不包含在任何類型里,只允許用它們自己和any來賦值(有個例外,undefined可以賦值到void)。
"target": "es5", //目標代碼類型
"paths": { //模塊名到基於baseUrl的路徑映射的列表
},
"lib": [ //編譯過程中需要引入的庫文件的列表
"dom",
"es6"
],
"types": [ //要包含的類型聲明文件名列表;如果指定了types,只有被列出來的包才會被包含進來
"hammerjs",
"node",
"source-map",
"uglify-js",
"webpack"
]},
"exclude": [ //如果"files"和"include"都沒有被指定,編譯器默認包含當前目錄和子目錄下所有的TypeScript文件(.ts, .d.ts 和 .tsx),排除在"exclude"里指定的文件。
"node_modules",
"dist"
],
"awesomeTypescriptLoaderOptions": { //Typescript加載選項
"forkChecker": true,
"useWebpackText": true
},
"compileOnSave": false,
"buildOnSave": false,
"atom": { "rewriteTsconfig": false }
}