1. 程式人生 > >TypeScript的配置文件 tsconfig.json

TypeScript的配置文件 tsconfig.json

目錄 xtend onf map 定義 noi data XP nds

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

  

TypeScript的配置文件 tsconfig.json