//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 }
}