天天看點

TypeScript的配置檔案 tsconfig.json

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

  

繼續閱讀