tsconfig.json 配置清單

tsconfig.json 配置清單

基礎結構

{"compilerOptions": {// 編譯選項},"include": [// 指定需要編譯的文件或目錄],"exclude": [// 指定不需要編譯的文件或目錄],"extends": "./base-tsconfig.json","files": [// 需要編譯的具體文件],"references": [// 用于 TypeScript 項目引用]
}

compilerOptions 詳細配置

按類別整理,每個配置項都附帶解釋和可能的值。


1. ECMAScript 版本、模塊系統

配置項說明可能的值
target目標 ECMAScript 版本ES3, ES5, ES6, ES2015, ES2016, ES2017, ES2018, ES2019, ES2020, ES2021, ES2022, ESNext
module目標模塊系統CommonJS, AMD, UMD, System, ES6, ES2015, ES2020, ESNext
lib需要包含的庫["ES6", "DOM", "ESNext", "ES2020", "ES2019"]
moduleResolution模塊解析策略Classic, Node, Bundler
moduleDetection何時啟用模塊支持auto, legacy, force
rootDirs指定多個根目錄["src", "shared"]
allowJs允許編譯 .js 文件true, false
checkJs啟用 JS 文件類型檢查true, false
resolveJsonModule允許導入 JSON 文件true, false
esModuleInterop兼容 ES 模塊默認導入true, false
preserveSymlinks不解析軟鏈接true, false

2. 輸出控制

配置項說明可能的值
outDir指定輸出目錄"./dist"
outFile輸出為單個 .js 文件"./bundle.js"
rootDir指定源代碼根目錄"./src"
declaration生成 .d.ts 聲明文件true, false
declarationMap生成 .d.ts.map 映射文件true, false
declarationDir.d.ts 輸出目錄"./types"
sourceMap生成 .map 文件true, false
inlineSourceMap內聯 sourceMaptrue, false
removeComments移除注釋true, false
emitBOM輸出帶有 BOM 頭的文件true, false

3. 嚴格模式

配置項說明可能的值
strict開啟所有嚴格模式true, false
noImplicitAny禁止隱式 any 類型true, false
strictNullChecks啟用嚴格的空值檢查true, false
strictFunctionTypes啟用函數參數嚴格檢查true, false
strictBindCallApply啟用 bindcallapply 檢查true, false
strictPropertyInitialization要求類屬性初始化true, false
useUnknownInCatchVariablescatch 語句變量默認 unknowntrue, false

4. 代碼檢查

配置項說明可能的值
noUnusedLocals禁止未使用的局部變量true, false
noUnusedParameters禁止未使用的函數參數true, false
noImplicitReturns要求函數必須有返回值true, false
noFallthroughCasesInSwitch禁止 switch 語句 fallthroughtrue, false
allowUnreachableCode允許無法訪問的代碼true, false

5. ES 特性支持

配置項說明可能的值
experimentalDecorators啟用實驗性的裝飾器true, false
emitDecoratorMetadata生成裝飾器的元數據true, false
downlevelIteration向低版本 ES 兼容迭代器true, false

6. 其他

配置項說明
baseUrl模塊解析的基準路徑
paths配置模塊別名
types指定要包含的類型定義
allowSyntheticDefaultImports允許默認導入非 ES6 模塊
forceConsistentCasingInFileNames強制文件名大小寫一致

7. includeexcludefiles

{"include": ["src/**/*"],"exclude": ["node_modules", "dist"],"files": ["index.ts", "types.d.ts"]
}

8. extends

{"extends": "./base-tsconfig.json"
}

9. references

{"references": [{ "path": "./packages/core" },{ "path": "./packages/utils" }]
}

10. 示例

{"compilerOptions": {"target": "ES2020","module": "CommonJS","strict": true,"outDir": "./dist","rootDir": "./src","sourceMap": true,"resolveJsonModule": true,"allowJs": true,"incremental": true},"include": ["src/**/*"],"exclude": ["node_modules", "dist"]
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71265.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71265.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71265.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

springboot可以同時處理多少個請求

源碼 ServerProperties Tomcat 配置 參數解析 必須要先建立連接,再用線程處理。 比如max-connection最大連接數,accept-count相當于隊列容量。總連接數二者和 min-spare-treads 核心線程數默認10,max-threads最大線程數默認200。 正常…

Spring 三級緩存 vs 二級緩存:深度解析循環依賴的終極解決方案

目錄 一. 循環依賴的本質矛盾 1. 什么是循環依賴? 2. 矛盾的核心 二. 三級緩存架構解析 三級緩存工作流程圖?編輯 三、為什么必須三級緩存? 1. 二級緩存的致命缺陷 2. 三級緩存的精妙設計 四、場景推演:三級緩存如何解決代理問題 …

視頻流暢播放相關因素

視頻播放的流暢度是一個綜合性問題,涉及從視頻文件本身到硬件性能、網絡環境、軟件優化等多個環節。以下是影響流暢度的關鍵因素及優化建議: 一、視頻文件本身 1. 分辨率與幀率 1.問題:高分辨率(如4K)或高幀率&#…

金融項目實戰

測試流程 測試流程 功能測試流程 功能測試流程 需求評審制定測試計劃編寫測試用例和評審用例執行缺陷管理測試報告 接口測試流程 接口測試流程 需求評審制定測試計劃分析api文檔編寫測試用例搭建測試環境編寫腳本執行腳本缺陷管理測試報告 測試步驟 測試步驟 需求評審 需求評…

LeetCode 25 - K 個一組翻轉鏈表

LeetCode 25 - K 個一組翻轉鏈表 這道題是一個典型的鏈表操作題,考察我們對鏈表的精確操作,包括反轉鏈表、分組處理、遞歸和迭代的結合應用等。還可以通過變體問題延伸到優先隊列操作、歸并、分塊等,這使得它成為面試中的高頻考題之一。 題目…

Leetcode 54: 螺旋矩陣

Leetcode 54: 螺旋矩陣 是一道經典的矩陣遍歷模擬題目,要求我們以螺旋順序遍歷一個二維數組。這個問題在面試中非常經典,考察模擬、數組操作以及邏輯清晰度。掌握本題的高效解法可以迅速給面試官留下好印象。 適合面試的解法:邊界法&#xff…

abseil-cpp:環境搭建

參考: https://abseil.io/docs/cpp/quickstart-cmake abseil-cpp.git/dd4c89b abseil-cpp.git/20240722.1 1. clone代碼倉庫、編譯 git clone https://github.com/abseil/abseil-cpp.git /app/abseil-cpp/ #/app/abseil-cpp/.git/config git checkout 20240722.1git rev-pa…

Storm實時流式計算系統(全解)——下

storm編程案例-網站訪問來源實時統計-需求 storm編程-網站訪問來源實時統計-代碼實現 根據以上條件可以只寫一個類,我們只需要寫2個方法和一個main(),一個讀取/發射(spout)。 一個拿到數據統計后發到redis…

什么是SYN洪范攻擊?

文章目錄 一、什么是SYN洪范攻擊?二、SYN泛洪攻擊原理2.1 TCP 三次握手過程2.2 SYN攻擊過程 三、防御措施 一、什么是SYN洪范攻擊? SYN洪泛攻擊(SYN Flood)發生在OSI第四層,是一種基于?TCP協議三次握手漏洞?的DoS&a…

【嵌入式】MQTT

MQTT 文章目錄 MQTT安裝簡介MQTT客戶端代碼 安裝 安裝Paho MQTT C庫: sudo apt-get install libpaho-mqtt3-dev頭文件包含: #include "MQTTClient.h"編譯選項: gcc -o $ $^ -lpaho-mqtt3c簡介 MQTT協議全稱是(Message Queuing…

ubuntu離線安裝nvidia-container-runtime

參考文章 ubuntu系統docker20.4版本安裝nvidia-container-runtime3.11.0-1版本(離線安裝nvidia-docker) - jokerMM - 博客園 https://zhuanlan.zhihu.com/p/15194336245 一、軟件地址 Index of /nvidia-docker/libnvidia-container/stable/ 從上述地地址——進入對應系統—…

用Python+Flask打造可視化武俠人物關系圖生成器:從零到一的實戰全記錄

用PythonFlask打造可視化武俠人物關系圖生成器:從零到一的實戰全記錄 一、緣起:一個程序小白的奇妙探索之旅 作為一個接觸Python僅13天的編程萌新,我曾以為開發一個完整的應用是遙不可及的事情。但在DeepSeek的幫助下,我竟用短短…

RPA 職業前景:個人職場發展的 “新機遇”

1. RPA職業定義與范疇 1.1 RPA核心概念 機器人流程自動化(RPA)是一種通過軟件機器人模擬人類操作,自動執行重復性、規則性任務的技術。RPA的核心在于其能夠高效、準確地處理大量數據和流程,減少人工干預,從而提高工作…

Full GC 排查

在 Java 中,Full GC(完全垃圾回收)會對整個堆(包括年輕代和老年代,甚至可能包括永久代/元空間)進行垃圾回收,通常會導致較長的停頓(STW,Stop-The-World)。如果…

go語言中字符串嵌套

在Go語言中,字符串嵌套通常是指在字符串中包含另一個字符串。可以通過以下幾種方式實現: 1. 使用雙引號和轉義字符 如果需要在字符串中嵌套雙引號,可以使用轉義字符 \ 來表示內部的雙引號。例如: s : "He said, \"He…

Docker 學習(二)——基于Registry、Harbor搭建私有倉庫

Docker倉庫是集中存儲和管理Docker鏡像的平臺,支持鏡像的上傳、下載、版本管理等功能。 一、Docker倉庫分類 1.公有倉庫 Docker Hub:官方默認公共倉庫,提供超過10萬鏡像,支持用戶上傳和管理鏡像。 第三方平臺:如阿里…

js的簡單介紹

一.javascript(是什么) 是一種運行在客戶端(瀏覽器)的編程語言,實現人機交互效果 作用 網頁特效(監聽客戶的一些行為讓網頁做出對應的反饋)表單驗證(針對表格數據的合法性進行判斷)數據交互(獲取后臺的數據&#xf…

k8s架構及服務詳解

目錄 1.1.容器是什么1.2.Namespace1.3.rootfs5.1.Service介紹5.1.1.Serice簡介 5.1.1.1什么是Service5.1.1.2.Service的創建5.1.1.3.檢測服務5.1.1.4.在運行的容器中遠程執行命令 5.2.連接集群外部的服務 5.2.1.介紹服務endpoint5.2.2.手動配置服務的endpoint5.2.3.為外部服務…

01. HarmonyOS應用開發實踐與技術解析

文章目錄 前言項目概述HarmonyOS應用架構項目結構Ability生命周期 ArkTS語言特性裝飾器狀態管理 UI組件與布局基礎組件響應式布局樣式與主題 頁面路由與參數傳遞頁面跳轉參數接收 數據綁定與循環渲染數據接口定義循環渲染 條件渲染組件生命周期最佳實踐與性能優化組件復用響應式…

【虛擬機 IP 配置深度剖析】

虛擬機 IP 配置深度剖析 在虛擬機的使用過程中,IP 配置猶如搭建房屋的基石,是確保虛擬機與外部網絡順暢通信、與其他設備高效交互的關鍵所在。本文將以 CentOS 虛擬機為例,深入解讀 IP 配置的奧秘。 一、認識網絡模式 ? NAT 模式&#xf…