1. 程式人生 > 其它 >TypeScript編譯配置選項

TypeScript編譯配置選項

TypeScript編譯配置選項

常用選項

{

  /* include指定哪些ts檔案需要被編譯
  **表示任意資料夾  *表示任意檔案 */
  "include": [
    "./src/**/*"
  ],

  /* exclude表示不包含 
  exclude的預設值為["node_modules","bower_components","jspm_packages"]*/
  "exclude": [
    //"src/hello.ts"
  ],

  /* extends表示繼承配置檔案 */
  // "extends": "",

  /* files可以單獨設定ts需要編譯哪些檔案 */
  // "files": [],

  /* 編譯器的選項 */
  "compilerOptions": {
    /* 指定TS被編譯成的ES的版本,可選值如下
    'es3', 'es5', 'es6', 'es2015', 
    'es2016', 'es2017', 'es2018', 'es2019', 
    'es2020', 'es2021', 'esnext'*/
    "target": "es6",
    
    /* 指定專案中需要使用什麼庫 */
    // "lib": [],

    /* 指定所使用的模組化規範,可選值為
    'none', 'commonjs', 'amd', 'system', 'umd', 
    'es6', 'es2015', 'es2020', 'es2022', 'esnext', 
    'node12', 'nodenext' */
    "module": "es6",

    /* 將程式碼合併成一個檔案 */
    // "outFile": "./dist/app.js",
    
    /* 指定編譯後文件所在的目錄 */
    "outDir": "./dist",

    /* 所有嚴格檢查的總開關 */
    "strict": true,

    /* 是否對JS檔案進行編譯,預設不進行編譯 */
    "allowJs": false,

    /* 檢查JS程式碼是否符合語法規範,預設不檢查 */
    "checkJs": false,

    /* 是否移除註釋,預設不移除 */
    "removeComments": false,

    /* 是否生成編譯後的檔案,預設為生成false */
    "noEmit": false,

    /* 當有錯誤時,是否生成編譯檔案,預設為生成false */
    "noEmitOnError": false,

    /* 設定編譯後的檔案是否使用嚴格模式,預設是false不開啟 */
    "alwaysStrict": true,

    /* 不指定變數型別時,是否使用any,預設為false允許使用 */
    "noImplicitAny": false,
    
    /* 是否檢查隱式this,預設為false不進行檢查 */
    "noImplicitThis": false,

    /* 嚴格檢查空值,預設為false不檢查 */
    "strictNullChecks": false,

    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "skipLibCheck": true
  }
}