Toggle navigation
IT人
IT人
TypeScript 裡的 Reference Type 和 Triple-Slash Directives
i042416
發表於
2022-04-03
SAP Spartacus 是一個 TypeScript 應用,在有些檔案開頭,發現了這樣的定義: ```typescript // '@sapui5/ts-types-esm' package contains types for sap modules, e.g. 'sap/ui/core/Core' ///
``` 對第 31 行的程式碼按住 Ctrl 再單擊滑鼠左鍵:  直接跳轉到了 `sap.ui.core.d.ts` 檔案內部:  `///` 的正式名稱叫 [Triple-Slash Directives](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html). 三斜槓指令是包含單個 XML 標記的單行註釋。 註釋的內容用作編譯器指令。 三斜槓指令僅在其包含檔案的頂部有效。 三斜槓指令前只能有單行或多行註釋,包括其他三斜槓指令。 如果在語句或宣告之後遇到它們,它們將被視為常規的單行註釋,並且沒有特殊含義。 ///
指令宣告對包的依賴。 解析這些包名的過程類似於在 import 語句中解析模組名的過程。將三斜槓引用型別指令視為宣告包的匯入的一種簡單方法。 例如,在宣告檔案中包含 ///
宣告該檔案使用在 @types/node/index.d.ts 中宣告的名稱;因此,這個包需要與宣告檔案一起包含在編譯中。 僅當手動創作 d.ts 檔案時才使用這些指令。 對於編譯時產生的宣告檔案,編譯器會自動新增 ///
;當且僅當生成的檔案使用來自引用包的任何宣告時,才會在生成的宣告檔案中新增 ///
。 要在 .ts 檔案中宣告對 @types 包的依賴,請在命令列或 tsconfig.json 中使用型別。   從這三個 Observable 的 pipe 內的 Operator 能看出這些操作之間的邏輯順序。  這個 ui5bootstrapped 返回的 Observable,什麼時候被 subscribe 呢?  為什麼觸發點是 loadVisualization 的 subscribe 呼叫呢?loadVisualization 和 bootstrapUi5 的關聯在哪裡?  答案:`loadVisualization` 返回的是 `this.viewportAdded$`, 而 `this.viewportAdded$` 是 `ui5Initialized$` mergedMap 之後的產物,`ui5Initialized$` 又是 `ui5BootStrapped$` 的產物,因此 this.viewportAdded$ 被 subscribe,一定是 `ui5BootStrapped$` 的 subscribe 邏輯最先被執行,然後是 `ui5Initialized$`,最後才是 `this.viewportAdded$`.  執行時除錯:`ui5BootStrapped$` 最先被呼叫:  然後是 initializeUI5:  最後是 addViewport: 
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2885621/,如需轉載,請註明出處,否則將追究法律責任。
最新文章
雲技能提升好夥伴,亞馬遜雲師兄今天正式營業
Vue3,用組合的方式來編寫更好的程式碼(1/5)
揭祕得物客服IM全鏈路通訊過程
SAP UI5 應用開發教程之一百零二 - SAP UI5 應用的列印(Print)功能實現詳解試讀版
華為聯機對戰服務玩家掉線重連案例總結
STM32 移植 RT-Thread 標準版的 FinSH 元件
c# 怎樣能寫個sql的解析器
論文解讀(AGC)《Attributed Graph Clustering via Adaptive Graph Convolution》
Multiparty Cardinality Testing for Threshold Private Set-2021:解讀
物件對映 - Mapping.Mapster
2022西湖論劍•網路安全大會威脅情報及應急響應論壇將於7月3日在杭州舉辦
Vue DevUI:100多位貢獻者持續530多天,寫了近60000行程式碼,這個新鮮出爐的 Vue3 元件庫你不想嘗試下嗎?