欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TypeScript基礎(chǔ)入門教程之三重斜線指令詳解

 更新時(shí)間:2018年10月22日 08:59:40   作者:Gowhich  
這篇文章主要給大家介紹了關(guān)于TypeScript基礎(chǔ)入門教程之三重斜線指令的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

TypeScript是Javascript的超集,實(shí)現(xiàn)以面向?qū)ο缶幊痰姆绞绞褂肑avascript。當(dāng)然最后代碼還是編譯為Javascript。

三斜杠指令是包含單個(gè)XML標(biāo)記的單行注釋。 注釋的內(nèi)容用作編譯器指令。

三斜杠指令僅在其包含文件的頂部有效。 三重斜杠指令只能在單行或多行注釋之前,包括其他三重斜杠指令。 如果在聲明或聲明之后遇到它們,則將它們視為常規(guī)單行注釋,并且沒有特殊含義。

/// <reference path ="..."/>

/// <reference path ="..."/>指令是該組中最常見的。 它充當(dāng)文件之間的依賴聲明。

三斜杠引用指示編譯器在編譯過程中包含其他文件。

它們還可以作為在使用–out或–outFile時(shí)對(duì)輸出進(jìn)行排序的方法。 在預(yù)處理傳遞之后,文件以與輸入相同的順序發(fā)送到輸出文件位置。

該過程從一組根文件開始; 這些是在命令行或tsconfig.json文件的”files”列表中指定的文件名。 這些根文件按照指定的順序進(jìn)行預(yù)處理。 在將文件添加到列表之前,將處理其中的所有三重斜杠引用,并包括其目標(biāo)。 三重斜杠引用按照它們?cè)谖募锌吹降捻樞蛞陨疃葍?yōu)先方式解析。

如果無根則,則相對(duì)于包含文件解析三斜杠參考路徑。

錯(cuò)誤

引用不存在的文件是錯(cuò)誤的。 如果文件具有對(duì)自身的三斜杠引用,則會(huì)出錯(cuò)。

使用–noResolve

如果指定了編譯器標(biāo)志–noResolve,則忽略三次斜杠引用; 它們既不會(huì)導(dǎo)致添加新文件,也不會(huì)更改所提供文件的順序。

/// <reference types="..." />

類似于/// <reference path ="..."/>指令,該指令用作依賴聲明; 但是, /// <references types ="..."/>指令聲明了對(duì)包的依賴性。

解析這些包名稱的過程類似于在import語句中解析模塊名稱的過程。 考慮三重斜杠引用類型指令的簡單方法是作為聲明包的導(dǎo)入。

例如,在聲明文件中包含/// <references types ="node"/>聲明此文件使用在types/node/index.d.ts中聲明的名稱; 因此,此包需要與聲明文件一起包含在編譯中。

只有在手動(dòng)創(chuàng)建d.ts文件時(shí)才使用這些指令。

對(duì)于編譯期間生成的聲明文件,編譯器會(huì)自動(dòng)為您添加/// <references types ="..."/>; 當(dāng)且僅當(dāng)生成的文件使用引用包中的任何聲明時(shí),才會(huì)添加生成的聲明文件中的/// <reference types ="..."/> 。

/// <reference lib="..." />

該指令允許文件顯式包含現(xiàn)有的內(nèi)置lib文件。

內(nèi)置的lib文件以與tsconfig.json中的”lib”編譯器選項(xiàng)相同的方式引用(例如,使用lib=”es2015”而不是lib=”lib.es2015.d.ts”等)。

對(duì)于在內(nèi)置類型上進(jìn)行中繼的聲明文件作者,例如 建議使用DOM API或內(nèi)置的JS運(yùn)行時(shí)構(gòu)造函數(shù)(如Symbol或Iterable,三斜杠引用lib指令)。 以前這些.d.ts文件必須添加此類型的前向/重復(fù)聲明。

例如,將/// <reference lib="es2017.string"/>添加到編譯中的一個(gè)文件等效于使用–lib es2017.string進(jìn)行編譯。

/// <reference lib="es2017.string" />

"foo".padStart(4);

/// <reference no-default-lib="true"/>

該指令將文件標(biāo)記為默認(rèn)庫。 您將在lib.d.ts及其不同變體的頂部看到此注釋。

該指令指示編譯器不在編譯中包含默認(rèn)庫(即lib.d.ts)。 這里的影響類似于在命令行上傳遞–noLib。

另請(qǐng)注意,在傳遞–skipDefaultLibCheck時(shí),編譯器將僅跳過使用/// <reference no-default-lib ="true"/>檢查文件。

/// <amd-module />

默認(rèn)情況下,AMD模塊是匿名生成的。 當(dāng)使用其他工具處理結(jié)果模塊(例如捆綁器(例如r.js))時(shí),這會(huì)導(dǎo)致問題。

amd-module指令允許將可選模塊名稱傳遞給編譯器:

amdModule.ts

///<amd-module name="NamedModule"/>
export class C {
}

將導(dǎo)致將名稱NamedModule分配給模塊作為調(diào)用AMD定義的一部分:

amdModule.js

define("NamedModule", ["require", "exports"], function (require, exports) {
 var C = (function () {
 function C() {
 }
 return C;
 })();
 exports.C = C;
});

/// <amd-dependency />

注意:此指令已被棄用。使用import”moduleName”;而是聲明。

/// <amd-dependency path ="x"/>通知編譯器需要在結(jié)果模塊的require調(diào)用中注入的非TS模塊依賴項(xiàng)。

amd-dependency指令也可以有一個(gè)可選的name屬性; 這允許傳遞amd依賴的可選名稱:

/// <amd-dependency path="legacy/moduleA" name="moduleA"/>
declare var moduleA:MyType
moduleA.callStuff()

生成的JS代碼:

define(["require", "exports", "legacy/moduleA"], function (require, exports, moduleA) {
 moduleA.callStuff()
});

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • json的結(jié)構(gòu)與遍歷方法實(shí)例分析

    json的結(jié)構(gòu)與遍歷方法實(shí)例分析

    這篇文章主要介紹了json的結(jié)構(gòu)與遍歷方法,結(jié)合具體實(shí)例形式分析了json常見的簡單與復(fù)雜結(jié)構(gòu)表示方法,以及具體的遍歷操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-04-04
  • JavaScript中關(guān)于iframe滾動(dòng)條的去除和保留

    JavaScript中關(guān)于iframe滾動(dòng)條的去除和保留

    在開發(fā)中經(jīng)常遇到去掉全部的滾動(dòng)條,去掉右邊的滾動(dòng)條且保留底下的滾動(dòng)條,去掉底下的滾動(dòng)條且保留右邊的滾動(dòng)條,大家基于js是怎么實(shí)現(xiàn)的呢?下面小編通過本文給大家詳細(xì)介紹下,對(duì)js iframe滾動(dòng)條相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-11-11
  • 利用NodeJS和PhantomJS抓取網(wǎng)站頁面信息以及網(wǎng)站截圖

    利用NodeJS和PhantomJS抓取網(wǎng)站頁面信息以及網(wǎng)站截圖

    這篇文章主要介紹了利用NodeJS和PhantomJS抓取網(wǎng)站頁面信息以及網(wǎng)站截圖的方法,提供實(shí)例代碼供大家參考
    2013-11-11
  • JavaScript最完整的深淺拷貝實(shí)現(xiàn)方式詳解

    JavaScript最完整的深淺拷貝實(shí)現(xiàn)方式詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript最完整的深淺拷貝實(shí)現(xiàn)方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • JavaScript Math.round() 方法

    JavaScript Math.round() 方法

    math.round()方法將對(duì)參數(shù)進(jìn)行四舍五入操作,對(duì)js math.round相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • 微信小程序向Java后臺(tái)傳輸參數(shù)的方法實(shí)現(xiàn)

    微信小程序向Java后臺(tái)傳輸參數(shù)的方法實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序向Java后臺(tái)傳輸參數(shù)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 如何調(diào)試異步加載頁面里包含的js文件

    如何調(diào)試異步加載頁面里包含的js文件

    用瀏覽器無法調(diào)試異步加載頁面里包含的js文件。簡單的說就是在調(diào)試工具里面看不到異步加載頁面里包含的js文件
    2014-10-10
  • JS如何定義用字符串拼接的變量

    JS如何定義用字符串拼接的變量

    這篇文章主要介紹了JS如何定義用字符串拼接的變量,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • echarts自定義tooltip中的內(nèi)容代碼示例

    echarts自定義tooltip中的內(nèi)容代碼示例

    在ECharts中,通過formatter函數(shù)自定義圖例樣式,可以實(shí)現(xiàn)更靈活的圖表展示,滿足特定的視覺需求,這篇文章主要介紹了echarts自定義tooltip中內(nèi)容的相關(guān)資料,需要的朋友可以參考下
    2024-10-10
  • 詳解Javascript如何通過async/await優(yōu)雅地使用FileReader

    詳解Javascript如何通過async/await優(yōu)雅地使用FileReader

    這篇文章主要為大家詳細(xì)介紹了Javascript和Typescript如何通過async/await優(yōu)雅地使用FileReader,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04

最新評(píng)論