成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Typescript的tsconfig.json

開發(fā)
使用TypeScript編譯的時候,有些語法需要tsconfig的配置才能使用

[[343968]]

比如裝飾器如果不配置會報這個錯Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning;

解決在Typescript中報Cannot redeclare block-scoped variable的錯誤,也需要配置一下tsconfig.json文件的 "lib": ["es2015"]

本文主要介紹兩點:

運行tsconfig.json
tsconfig.json的參數(shù)配置
運行tsconfig.json
我們通過tsc --init 可以生成tsconfig.json文件,那我們生成的tsconfig.json[1]配置文件怎么運行呢?

我們直接輸入tsc或者tsc -p tsconfig.json時,默認(rèn)會調(diào)用tsconfig.json;
在命令行上指定輸入文件時,將忽略tsconfig.json文件。這樣的情況下,只能通過命令輸入配置來運行,這也是為什么明明配置了tsconfig.json,但是沒有生效。舉個例子:
$ tsc index3.ts --t es5 --experimentalDecorators
監(jiān)控ts文件的變化可以使用tsc -w,更多指令在命令行輸入tsc --help查看

tsconfig.json的參數(shù)配置
tsconfig.json這個文件的參數(shù)有很多,有時不知道是什么意思,有什么作用,下一次碰到的時候還是不太會,這里做個表格,用的時候方便查閱。

選項 描述
incremental 啟動增量編譯
target 指定ECMAScript目標(biāo)版本 "ES3"(默認(rèn)), "ES5", "ES6"/ "ES2015", "ES2016", "ES2017"或 "ESNext"。
module 指定使用什么模塊代碼生成:"None", "CommonJS", "AMD", "System", "UMD", "ES6"或 "ES2015"。只有 "AMD"和 "System" --outFile一起使用。"ES6"和 "ES2015"可使用在目標(biāo)輸出為 "ES5"或更低的情況下。
lib 編譯過程中需要引入的庫文件的列表。可能的值為:ES5、ES6、ES2015、ES7、ES2016、ES2017、ES2018、ESNext、DOM、DOM.Iterable、WebWorker、ScriptHost、ES2015.Core、ES2015.Collection、ES2015.Generator、ES2015.Iterable、ES2015.Promise、ES2015.Proxy、ES2015.Reflect、ES2015.Symbol、ES2015.Symbol.WellKnown、ES2016.Array.Include、ES2017.object、ES2017.Intl、ES2017.SharedMemory、ES2017.String、ES2017.TypedArrays、ES2018.Intl、ES2018.Promise、ES2018.RegExp、ESNext.AsyncIterable、ESNext.Array、ESNext.Intl、ESNext.Symbol 注意:如果--lib沒有指定默認(rèn)注入的庫的列表。默認(rèn)注入的庫為:針對于--target ES5:DOM,ES5,ScriptHost、針對于--target ES6:DOM,ES6,DOM.Iterable,ScriptHost
allowJs 允許編譯javascript文件
checkJs 在 .js文件中報告錯誤
jsx 在 .tsx文件里支持JSX:"React","react-native"或 "Preserve"
declaration 生成相應(yīng)的 .d.ts文件
declarationMap 為每個相應(yīng)的“ .d.ts”文件生成一個sourcemap文件
sourceMap 生成相應(yīng)的 .map文件
outFile 將輸出文件合并為一個文件
outDir 重定向輸出目錄
rootDir 用來控制輸出的目錄結(jié)構(gòu)
composite 啟用項目編譯
tsBuildInfoFile 指定文件去存儲增量編譯信息
removeComments 刪除所有注釋,除了以 /!*開頭的版權(quán)信息
noEmit 不生成輸出文件
importHelpers 從 tslib 導(dǎo)入輔助工具函數(shù)(比如 __extends, __rest等)
downlevelIteration 當(dāng)針對“ ES5”或“ ES3”時,在“ for-of”,傳播和解構(gòu)中為可迭代項提供全面支持
isolatedModules 將每個文件作為單獨的模塊(與“ts.transpileModule”類似)
strict 啟用所有嚴(yán)格類型檢查選項
noImplicitAny 在表達式和聲明上有隱含的 any類型時報錯
strictNullChecks 在嚴(yán)格的 null檢查模式下, null和 undefined值不包含在任何類型里,只允許用它們自己和 any來賦值(有個例外, undefined可以賦值到 void)
strictFunctionTypes 啟動對函數(shù)類型的檢查
strictBindCallApply 在函數(shù)上啟動"bind","call"和"apply"
strictPropertyInitialization 確保類的非undefined屬性已經(jīng)在構(gòu)造函數(shù)里初始化。若要令此選項生效,需要同時啟用--strictNullChecks
noImplicitThis 當(dāng) this表達式的值為 any類型的時候,生成一個錯誤
alwaysStrict 以嚴(yán)格模式解析并為每個源文件生成 "use strict"語句
noUnusedLocals 若有未使用的局部變量則拋錯
noUnusedParameters 若有未使用的參數(shù)則拋錯
noImplicitReturns 不是函數(shù)的所有返回路徑都有返回值時報錯
noFallthroughCasesInSwitch 不允許switch的case語句貫穿
moduleResolution 如何解析模塊:'node' (Node.js) or 'classic' (TypeScript pre-1.6)
baseUrl 解析文檔目錄
paths 模塊名到基于 baseUrl的路徑映射的列表
rootDirs 用來控制輸出的目錄結(jié)構(gòu)
typeRoots 要包含的類型聲明文件路徑列表
types 要包含的類型聲明文件名列表
allowSyntheticDefaultImports 允許從沒有設(shè)置默認(rèn)導(dǎo)出的模塊中默認(rèn)導(dǎo)入。這并不影響代碼的輸出,僅為了類型檢查
esModuleInterop 通過所有導(dǎo)入創(chuàng)建名稱空間對象,啟用CommonJS和ES模塊之間的相互操作
preserveSymlinks 不把符號鏈接解析為其真實路徑;將符號鏈接文件視為真正的文件
allowUmdGlobalAccess 允許從模塊訪問UMD全局變量
sourceRoot 指定TypeScript源文件的路徑,以便調(diào)試器定位。當(dāng)TypeScript文件的位置是在運行時指定時使用此標(biāo)記。路徑信息會被加到 sourceMap里
mapRoot 為調(diào)試器指定指定sourcemap文件的路徑,而不是使用生成時的路徑。當(dāng) .map文件是在運行時指定的,并不同于 js文件的地址時使用這個標(biāo)記。指定的路徑會嵌入到 sourceMap里告訴調(diào)試器到哪里去找它們。
inlineSourceMap 生成單個sourcemaps文件,而不是將每sourcemaps生成不同的文件
inlineSources 將代碼與sourcemaps生成到一個文件中,要求同時設(shè)置了 --inlineSourceMap或 --sourceMap屬性
experimentalDecorators 啟動裝飾器
emitDecoratorMetadata 給源碼里的裝飾器聲明加上設(shè)計類型元數(shù)據(jù)
skipLibCheck 忽略所有的聲明文件( *.d.ts)的類型檢查
forceConsistentCasingInFileNames 禁止對同一個文件使用大小寫不一致的引用
 

常用的tsconfig.json配置:

  1.     "target""ES2015"
  2.     "module""commonjs"
  3.     "sourceMap"true
  4.     "outDir""./script"
  5.     "strict"true
  6.     "strictNullChecks"true
  7.     "strictFunctionTypes"true
  8.     "noImplicitThis"true
  9.     "alwaysStrict"true
  10.     "noImplicitReturns"true
  11.     "noFallthroughCasesInSwitch"true
  12.     "esModuleInterop"true
  13.     "skipLibCheck"true
  14.     "forceConsistentCasingInFileNames"true  

參考資料
[1]
tsconfig: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

 

責(zé)任編輯:姜華 來源: 小丑的小屋
相關(guān)推薦

2020-06-12 10:00:25

前端tsconfig.js命令

2022-10-08 08:19:37

前端TS 編譯

2024-03-04 06:37:55

TypeScript類型聲明靜態(tài)方法

2023-05-17 15:10:03

兼容JSXVue

2024-03-12 08:44:56

WebWorkerTypeScript語法

2023-07-02 11:14:21

工具TypeScript框架

2012-10-08 09:15:57

JavaScriptJSTypeScript

2021-07-27 06:06:34

TypeScript語言運算符

2022-02-25 09:06:02

TypeScripnever工具

2022-02-22 13:50:01

TypeScrip前端框架

2020-10-30 12:42:06

TypeScript編程開發(fā)

2022-09-26 09:02:54

TS 裝飾器TypeScript

2022-08-08 09:00:42

TypeScript映射類型

2023-07-12 08:29:58

TypeScrip元組元素

2021-11-30 09:00:00

TypeScriptJ??avaScrip開發(fā)

2022-08-04 09:01:45

TypeScriptMicrosoft

2024-05-11 10:19:31

TypeScript類型接口

2020-09-23 09:08:05

typescript

2022-04-11 08:42:09

TypeScript子類型定義

2021-08-18 07:56:05

Typescript類型本質(zhì)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产成人综合亚洲欧美94在线 | 久久蜜桃av一区二区天堂 | 在线中文字幕av | 99在线免费视频 | 成人午夜视频在线观看 | 求毛片| 91中文字幕在线 | 欧美在线天堂 | 精品乱人伦一区二区三区 | 一区二区视频在线 | 久久精品久久久 | 精品欧美一区二区三区久久久小说 | 日韩一区二区三区在线观看 | 亚洲欧洲一区 | 天堂一区二区三区四区 | 91精品国产一区二区三区 | 91动漫在线观看 | 超碰导航 | 国内在线视频 | 看真人视频一级毛片 | 成人影院午夜 | av免费网站在线观看 | 国产 日韩 欧美 在线 | 久久久久久一区 | 国产一级黄色网 | 成人性视频免费网站 | 国产免费观看一级国产 | 亚洲国产精品久久久久久 | 色一阁 | 亚洲欧美日韩成人在线 | 日韩综合在线视频 | 超碰婷婷 | 国产一区免费 | 国产精品久久9 | 欧美v片| 亚洲444eee在线观看 | 中文无码日韩欧 | 天天久久 | 色橹橹欧美在线观看视频高清 | 日韩成人一区二区 | 天天综合干 |