tsconfig.json整理記錄

楊明明發表於2018-04-06

tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    // 允許編譯javascript檔案。
    "allowJs": true,
    // 允許從沒有設定預設匯出的模組中預設匯入。這並不影響程式碼的顯示,僅為了型別檢查。
    "allowSyntheticDefaultImports": true,
    // 不報告執行不到的程式碼錯誤
    "allowUnreachableCode": true,
    // 不報告未使用的標籤錯誤。
    "allowUnusedLabels": true,
    // 以嚴格模式解析併為每個原始檔生成 "use strict"語句
    "alwaysStrict": false,
    // 解析非相對模組名的基準目錄。檢視 模組解析文件瞭解詳情。
    "baseUrl": "./",
    // 輸入檔案的字符集。
    "charset": "utf8",
    // 在 .js檔案中報告錯誤。與 --allowJs配合使用。
    "checkJs": true,
    // 生成相應的 .d.ts檔案。
    "declaration": true,
    // 生成宣告檔案的輸出路徑。
    "declarationDir": "./@types/",
    // 顯示診斷資訊。
    "diagnostics": true,
    // 禁用JavaScript工程體積大小的限制
    "disableSizeLimit": false,
    // 禁止對同一個檔案的不一致的引用。
    "forceConsistentCasingInFileNames": false,
    // 從 tslib 匯入輔助工具函式(比如 __extends, __rest等)
    // "importHelpers": true,
    "outDir": "./dist/out-tsc",
    // 生成單個sourcemaps檔案,而不是將每sourcemaps生成不同的檔案。
    "inlineSourceMap": false,
    // 將程式碼與sourcemaps生成到一個檔案中,要求同時設定了 --inlineSourceMap或 --sourceMap屬性。
    "inlineSources": false,
    // 將每個檔案作為單獨的模組(與“ts.transpileModule”類似)。
    "isolatedModules": false,
    // 在 .tsx檔案裡支援JSX: "React"或 "Preserve"。檢視 JSX。
    "jsx": "preserve",
    // 指定生成目標為react JSX時,使用的JSX工廠函式,比如 React.createElement或 h。
    "jsxFactory": "React.createElement",
    "sourceMap": true,
    "moduleResolution": "node",
    // 給原始碼裡的裝飾器宣告加上設計型別後設資料。檢視 issue #2577瞭解更多資訊。
    "emitDecoratorMetadata": true,
    // 啟用實驗性的ES裝飾器。
    "experimentalDecorators": true,
    // 列印出編譯後生成檔案的名字
    "listEmittedFiles": true,
    // 編譯過程中列印檔名。
    "listFiles": true,
    "target": "es5",
    // node_modules依賴的最大搜尋深度並載入JavaScript檔案。僅適用於 --allowJs。
    "maxNodeModuleJsDepth": 1,
    "module": "umd",
    "typeRoots": ["node_modules/@types"],
    // 刪除所有註釋,除了以 /!*開頭的版權資訊。
    "removeComments": true,
    "lib": ["es2017", "dom"],
    "noImplicitAny": true,
    "paths": {

    }
  }
}
複製程式碼

常用

{
  "compileOnSave": false,
  "compilerOptions": {
    "allowJs": true,
    "checkJs": true,
    "allowSyntheticDefaultImports": true,
    "removeComments": true,
    "maxNodeModuleJsDepth": 0,
    "allowUnreachableCode": true,
    "allowUnusedLabels": true,
    "alwaysStrict": false,
    "baseUrl": "./",
    "charset": "utf8",
    "declaration": true,
    "disableSizeLimit": false,
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "lib": ["es2017", "dom"],
    "noImplicitAny": true
    "paths": {

    }
  }
}
複製程式碼

相關文章