第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

TypeScript 編譯選項(xiàng)

TypeScript 提供了很多不同功能的編譯選項(xiàng),既可以通過配置 tsconfig.json 文件中的 compilerOptions 屬性來實(shí)現(xiàn)編譯,也可以使用在 tsc 命令后跟隨參數(shù)這形式,直接編譯 .ts 文件。

注意: 當(dāng)命令行上指定了輸入文件時(shí),tsconfig.json 文件會被忽略。

1. 慕課解釋

我們通過編譯選項(xiàng) --watch 為例,在當(dāng)前目錄創(chuàng)建 main.ts 文件,寫入內(nèi)容:

enum Season {
  Spring,
  Summer,
  Autumn,
  Winter
}

在命令行執(zhí)行:

tsc main.ts --watch

編譯選項(xiàng) --watch 使編譯器在監(jiān)視模式下運(yùn)行,會監(jiān)視輸出文件,在它們改變時(shí)重新編譯。

2. 編譯選項(xiàng)

選項(xiàng) 類型 默認(rèn)值 描述
–allowJs boolean false 允許編譯 JavaScript 文件
–allowSyntheticDefaultImports boolean false 允許從沒有設(shè)置默認(rèn)導(dǎo)出的模塊中默認(rèn)導(dǎo)入
–allowUnreachableCode boolean false 不報(bào)告執(zhí)行不到的代碼錯誤
–allowUnusedLabels boolean false 不報(bào)告未使用的標(biāo)簽錯誤
–alwaysStrict boolean false 以嚴(yán)格模式解析并為每個源文件生成 "use strict" 語句
--baseUrl string 解析非相對模塊名的基準(zhǔn)目錄
–charset string “utf8” 輸入文件的字符集
–checkJs boolean false .js 文件中報(bào)告錯誤,與 --allowJs 配合使用
–declaration
-d
boolean false 生成相應(yīng)的 .d.ts 文件
–declarationDir string 生成聲明文件的輸出路徑
–diagnostics boolean false 顯示診斷信息
–disableSizeLimit boolean false 禁用 JavaScript 工程體積大小的限制
–emitBOM boolean false 在輸出文件的開頭加入BOM頭(UTF-8 Byte Order Mark)
–emitDecoratorMetadata[1] boolean false 給源碼里的裝飾器聲明加上設(shè)計(jì)類型元數(shù)據(jù)。查看 issue #2577 了解更多信息。
–experimentalDecorators[1] boolean false 啟用實(shí)驗(yàn)性的ES裝飾器
–extendedDiagnostics boolean false 顯示詳細(xì)的診斷信息
–forceConsistentCasingInFileNames boolean false 禁止對同一個文件的不一致的引用
–help
-h
打印幫助信息
–importHelpers string tslib 導(dǎo)入輔助工具函數(shù)(比如 __extends, __rest等)
–inlineSourceMap boolean false 生成單個 sourcemaps 文件,而不是將每 sourcemaps 生成不同的文件
–inlineSources boolean false 將代碼與 sourcemaps 生成到一個文件中,要求同時(shí)設(shè)置了 --inlineSourceMap--sourceMap 屬性
--init 初始化 TypeScript 項(xiàng)目并創(chuàng)建一個 tsconfig.json 文件
–isolatedModules boolean false 將每個文件作為單獨(dú)的模塊(與 “ts.transpileModule” 類似)
–jsx string “Preserve” .tsx 文件里支持 JSX: “React” 或 “Preserve”。
–jsxFactory string “React.createElement” 指定生成目標(biāo)為 react JSX 時(shí),使用的 JSX 工廠函數(shù),比如 React.createElement 或 h
–lib string[] 編譯過程中需要引入的庫文件的列表。
可能的值為:
? ES5
? ES6
? ES2015
? ES7
? ES2016
? ES2017
? ES2018
? ESNext
? ES5
? ES5
? ES5
? ES5
? ES5
? ES5
? 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 ES5DOM,ES5,ScriptHost
? 針對于 --target ES6DOM,ES6,DOM.Iterable,ScriptHost
–listEmittedFiles boolean false 打印出編譯后生成文件的名字
–listFiles boolean false 編譯過程中打印文件名
–locale string (platform specific) 顯示錯誤信息時(shí)使用的語言,比如:en-us
–mapRoot string 為調(diào)試器指定指定 sourcemap 文件的路徑,而不是使用生成時(shí)的路徑。當(dāng) .map 文件是在運(yùn)行時(shí)指定的,并不同于 js 文件的地址時(shí)使用這個標(biāo)記。指定的路徑會嵌入到 sourceMap 里告訴調(diào)試器到哪里去找它們
–maxNodeModuleJsDepth number 0 node_modules 依賴的最大搜索深度并加載 JavaScript 文件,僅適用于 --allowJs
–module
-m
string target === “ES6” ? “ES6” : “commonjs” 指定生成哪個模塊系統(tǒng)代碼: “None”, “CommonJS”, “AMD”, “System”, “UMD”, "ES6"或 “ES2015”。
? 只有 "AMD"和 "System"能和 --outFile一起使用。
? "ES6"和 "ES2015"可使用在目標(biāo)輸出為 "ES5"或更低的情況下。
–moduleResolution string module === “AMD” or “System” or “ES6” ? “Classic” : “Node” 決定如何處理模塊?;蛘呤?“Node” 對于 Node.js/io.js,或者是 “Classic”(默認(rèn))
–newLine string (platform specific) 當(dāng)生成文件時(shí)指定行結(jié)束符: "crlf"(windows)或 "lf"(unix)
–noEmit boolean false 不生成輸出文件
–noEmitHelpers boolean false 不在輸出文件中生成用戶自定義的幫助函數(shù)代碼,如 __extends
–noEmitOnError boolean false 報(bào)錯時(shí)不生成輸出文件
–noErrorTruncation boolean false 不截短錯誤消息
–noFallthroughCasesInSwitch boolean false 報(bào)告 switch 語句的 fallthrough 錯誤。(即,不允許 switch 的 case 語句貫穿)
--noImplicitAny boolean false 在表達(dá)式和聲明上有隱含的 any 類型時(shí)報(bào)錯
–noImplicitReturns boolean false 不是函數(shù)的所有返回路徑都有返回值時(shí)報(bào)錯
–noImplicitThis boolean false 當(dāng) this 表達(dá)式的值為 any 類型的時(shí)候,生成一個錯誤
–noImplicitUseStrict boolean false 模塊輸出中不包含 “use strict” 指令
–noLib boolean false 不包含默認(rèn)的庫文件( lib.d.ts
–noResolve boolean false 不把 /// <reference``> 或模塊導(dǎo)入的文件加到編譯文件列表
–noStrictGenericChecks boolean false 禁用在函數(shù)類型里對泛型簽名進(jìn)行嚴(yán)格檢查
–noUnusedLocals boolean false 若有未使用的局部變量則拋錯
–noUnusedParameters boolean false 若有未使用的參數(shù)則拋錯
--outDir string 重定向輸出目錄
–outFile string 將輸出文件合并為一個文件,合并的順序是根據(jù)傳入編譯器的文件順序和 ///<reference``>import 的文件順序決定的
–skipDefaultLibCheck boolean false 忽略庫的默認(rèn)聲明文件的類型檢查
–skipLibCheck boolean false 忽略所有的聲明文件( *.d.ts )的類型檢查
--sourceMap boolean false 生成相應(yīng)的 .map 文件
–sourceRoot string 指定 TypeScript 源文件的路徑,以便調(diào)試器定位。當(dāng) TypeScript 文件的位置是在運(yùn)行時(shí)指定時(shí)使用此標(biāo)記, 路徑信息會被加到 sourceMap 里
--strict boolean false 啟用所有嚴(yán)格類型檢查選項(xiàng)
–strictFunctionTypes boolean false 禁用函數(shù)參數(shù)雙向協(xié)變檢查
–strictPropertyInitialization boolean false 確保類的非 undefined 屬性已經(jīng)在構(gòu)造函數(shù)里初始化。若要令此選項(xiàng)生效,需要同時(shí)啟用 --strictNullChecks
--strictNullChecks boolean false 在嚴(yán)格的 null 檢查模式下,nullundefined 值不包含在任何類型里,只允許用它們自己和 any 來賦值(有個例外, undefined 可以賦值到 void)
–stripInternal[1] boolean false 不對具有 /** @internal */ JSDoc注解的代碼生成代碼
–suppressExcessPropertyErrors[1] boolean false 阻止對對象字面量的額外屬性檢查
–suppressImplicitAnyIndexErrors boolean false 阻止 --noImplicitAny 對缺少索引簽名的索引對象報(bào)錯。查看 issue #1232 了解詳情。
--target <br> -t string “ES3” 指定ECMAScript目標(biāo)版本 "ES3"(默認(rèn)), "ES5""ES6"/ "ES2015", "ES2016", "ES2017""ESNext"。

注意: "ESNext" 最新的生成目標(biāo)列表為 ES proposed features
–traceResolution boolean false 生成模塊解析日志信息
–types string[] 要包含的類型聲明文件名列表
–typeRoots string[] 要包含的類型聲明文件路徑列表
--version <br> -v 打印編譯器版本號
–watch
-w
在監(jiān)視模式下運(yùn)行編譯器。會監(jiān)視輸出文件,在它們改變時(shí)重新編譯。監(jiān)視文件和目錄的具體實(shí)現(xiàn)可以通過環(huán)境變量進(jìn)行配置
  • [1] 這些選項(xiàng)是試驗(yàn)性的

3. 小結(jié)

本小節(jié)梳理了 TypeScript 的眾多編譯選項(xiàng),可以先通讀一遍,大致了解有些什么功能,在項(xiàng)目中需要使用時(shí)再來查閱即可。