亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

開發(fā)typescript項(xiàng)目tsconfig.json配置及選項(xiàng)使用解析

 更新時(shí)間:2023年07月26日 09:51:12   作者:ming  
這篇文章主要為大家介紹了tsconfig.json配置及選項(xiàng)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

由于開發(fā)ts的項(xiàng)目經(jīng)常要配置tsconfig.json,所以自己整理了一份tsconfig.json文件,方便以后查閱~

compilerOptions編譯選項(xiàng)

target用于指定編譯之后的版本目錄

"target": "es5",

module用來指定要使用的模板標(biāo)準(zhǔn)

"module": "commonjs",

lib用于指定要包含在編譯中的庫(kù)文件

"lib":[
  "es6",
  "dom"
],

allowJs用來指定是否允許編譯JS文件,默認(rèn)false,即不編譯JS文件

"allowJs": true,

checkJs用來指定是否檢查和報(bào)告JS文件中的錯(cuò)誤,默認(rèn)false

"checkJs": true,

指定jsx代碼用于的開發(fā)環(huán)境:'preserve','react-native',or 'react

"jsx": "preserve",

declaration用來指定是否在編譯的時(shí)候生成相的d.ts聲明文件,如果設(shè)為true,編譯每個(gè)ts文件之后會(huì)生成一個(gè)js文件和一個(gè)聲明文件,但是declaration和allowJs不能同時(shí)設(shè)為true

"declaration": true,

declarationMap用來指定編譯時(shí)是否生成.map文件

"declarationMap": true,

socuceMap用來指定編譯時(shí)是否生成.map文件

"sourceMap": true,

outFile用于指定輸出文件合并為一個(gè)文件,只有設(shè)置module的值為amd和system模塊時(shí)才支持這個(gè)配置

"outFile": "./",

outDir用來指定輸出文件夾,值為一個(gè)文件夾路徑字符串,輸出的文件都將放置在這個(gè)文件夾

"outDir": "./",

rootDir用來指定編譯文件的根目錄,編譯器會(huì)在根目錄查找入口文件

"rootDir": "./",

composite是否編譯構(gòu)建引用項(xiàng)目

"composite": true,

removeComments用于指定是否將編譯后的文件注釋刪掉,設(shè)為true的話即刪除注釋,默認(rèn)為false

"removeComments": true,

noEmit不生成編譯文件

"noEmit": true,

importHelpers指定是否引入tslib里的復(fù)制工具函數(shù),默認(rèn)為false

"importHelpers": true,

當(dāng)target為"ES5"或"ES3"時(shí),為"for-of" "spread"和"destructuring"中的迭代器提供完全支持

"downlevelIteration": true,

isolatedModules指定是否將每個(gè)文件作為單獨(dú)的模塊,默認(rèn)為true,他不可以和declaration同時(shí)設(shè)定

"isolatedModules": true,

strict用于指定是否啟動(dòng)所有類型檢查,如果設(shè)為true這回同時(shí)開啟下面這幾個(gè)嚴(yán)格檢查,默認(rèn)為false

"strict": true,

noImplicitAny如果我們沒有一些值設(shè)置明確類型,編譯器會(huì)默認(rèn)認(rèn)為這個(gè)值為any類型,如果將noImplicitAny設(shè)為true,則如果沒有設(shè)置明確的類型會(huì)報(bào)錯(cuò),默認(rèn)值為false

"noImplicitAny": true,

strictNullChecks當(dāng)設(shè)為true時(shí),null和undefined值不能賦值給非這兩種類型的值,別的類型的值也不能賦給他們,除了any類型,還有個(gè)例外就是undefined可以賦值給void類型

"strictNullChecks": true,

strictFunctionTypes用來指定是否使用函數(shù)參數(shù)雙向協(xié)變檢查

"strictFunctionTypes": true,

strictBindCallApply設(shè)為true后對(duì)bind、call和apply綁定的方法的參數(shù)的檢測(cè)是嚴(yán)格檢測(cè)

"strictBindCallApply": true,

strictPropertyInitialization設(shè)為true后會(huì)檢查類的非undefined屬性是否已經(jīng)在構(gòu)造函數(shù)里初始化,如果要開啟這項(xiàng),需要同時(shí)開啟strictNullChecks,默認(rèn)為false

"strictPropertyInitialization": true,

當(dāng)this表達(dá)式的值為any類型的時(shí)候,生成一個(gè)錯(cuò)誤

"noImplicitThis": true,

alwaysStrict指定始終以嚴(yán)格模式檢查每個(gè)模塊,并且在編譯之后的JS文件中加入"use strict"字符串,用來告訴瀏覽器該JS為嚴(yán)格模式

"alwaysStrict": true,

noUnusedLocals用于檢查是否有定義了但是沒有使用變量,對(duì)于這一點(diǎn)的檢測(cè),使用ESLint可以在你書寫代碼的時(shí)候做提示,你可以配合使用,他的默認(rèn)值為false

"noUnusedLocals": true,

noUnusedParameters用于檢測(cè)是否在函數(shù)中沒有使用的參數(shù)

"noUnusedParameters": true,

noImplicitReturns用于檢查函數(shù)是否有返回值,設(shè)為true后,如果函數(shù)沒有返回值則會(huì)提示,默認(rèn)為false

"noImplicitReturns": true,

noFallthroughCasesInSwitch用于檢查switch中是否有case沒有使用break跳出switch,默認(rèn)為false

"noFallthroughCasesInSwitch": true,

moduleResolution用于選擇模塊解析策略,有"node"和"classic"兩種類型

"moduleResolution": "node",

baseUrl用于設(shè)置解析非相對(duì)模塊名稱的基本目錄,相對(duì)模塊不會(huì)受到baseUrl的影響

"baseUrl": "./",

paths用于設(shè)置模塊名到基于baseUrl的路徑映射

"paths": {
      "*":["./node_modules/@types", "./typings/*"]
    },

rootDirs可以指定一個(gè)路徑列表,在構(gòu)建時(shí)編譯器會(huì)將這個(gè)路徑中的內(nèi)容都放到一個(gè)文件夾中

"rootDirs": [],

typeRoots用來指定聲明文件或文件夾的路徑列表,如果指定了此項(xiàng),則只有在這里列出的聲明文件才會(huì)被加載

"typeRoots": [],

types用于指定需要包含的模塊,只有在這里列出的模塊的聲明文件才會(huì)被加載

"types": [],

allowSyntheticDefaultImports用來指定允許從沒有默認(rèn)導(dǎo)出的模塊中默認(rèn)導(dǎo)入

"allowSyntheticDefaultImports": true,

esModuleInterop通過導(dǎo)入內(nèi)容創(chuàng)建命名空間,實(shí)現(xiàn)CommonJS和ES模塊之間的互操作性

"esModuleInterop": true,

不把符號(hào)鏈接解析為真實(shí)路徑,具體可以了解下webpack和node.js的symlink相關(guān)知識(shí)

"preserveSymlinks": true,

sourceRoot用于指定調(diào)試器應(yīng)該找到TypeScript文件而不是源文件的位置,這個(gè)值會(huì)被寫進(jìn).map文件里

"sourceRoot": "",

mapRoot用于指定調(diào)試器找到映射文件而非生成文件的位置,指定map文件的根路徑,該選項(xiàng)會(huì)影響.map文件中的sources屬性

"mapRoot": "",

inlineSourceMap指定是否將map文件內(nèi)容和js文件編譯在一個(gè)同一個(gè)js文件中,如果設(shè)為true,則map的內(nèi)容會(huì)以//#soureMappingURL=開頭,然后接base64字符串的形式插入在js文件底部

"inlineSourceMap": true,

inlineSources用于指定是否進(jìn)一步將ts文件的內(nèi)容也包含到輸出文件中

"inlineSources": true,

experimentalDecorators用于指定是否啟用實(shí)驗(yàn)性的裝飾器特性

"experimentalDecorators": true,

emitDecoratorMetadata用于指定是否為裝上去提供元數(shù)據(jù)支持,關(guān)于元數(shù)據(jù),也是ES6的新標(biāo)準(zhǔn),可以通過Reflect提供的靜態(tài)方法獲取元數(shù)據(jù),如果需要使用Reflect的一些方法,需要引用ES2015.Reflect這個(gè)庫(kù)

"emitDecoratorMetadata": true,

include也可以指定要編譯的路徑列表

"include":[],

files可以配置一個(gè)數(shù)組列表

"files":[],

exclude表示要排除的,不編譯的文件,它也可以指定一個(gè)列表,規(guī)則和include一樣,可以是文件可以是文件夾,可以是相對(duì)路徑或絕對(duì)路徑,可以使用通配符

"exclude":[]

extends可以通過指定一個(gè)其他的tsconfig.json文件路徑,來繼承這個(gè)配置文件里的配置,繼承來的文件的配置會(huì)覆蓋當(dāng)前文件定義的配置

"extends":""

compileOnSave如果設(shè)為true,在我們編輯了項(xiàng)目文件保存的時(shí)候,編輯器會(huì)根據(jù)tsconfig.json的配置更新重新生成文本,不過這個(gè)編輯器支持

"compileOnSave":true

一個(gè)對(duì)象數(shù)組,指定要引用的項(xiàng)目

"references":[]

以上就是tsconfig.json配置選項(xiàng)使用JIEXI 的詳細(xì)內(nèi)容,更多關(guān)于tsconfig.json配置選項(xiàng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論