[英].d.ts typescript file for a javascript library
我正在嘗試創建一個描述文件以將JavaScript庫與Typescript一起使用。
目前,我正在嘗試遵循以下指南: TypeScript官方網站和遷移至Typescript的中型指南
具體來說,我正在嘗試為leaflet-icon-pulse創建一個打字稿描述文件,我認為這很容易
所以我下載了git項目,如下創建了tsconfig.json
{
"compilerOptions": {
"outDir": "./built",
"allowJs": true,
"noImplicitAny": true,
"strictNullChecks": true,
"target": "es5",
"module": "commonjs"
},
"include": [
"./src/**/*"
],
"exclude": [
"node_modules"
]
}
然后,我嘗試將文件L.Icon.Pulse.js轉換為L.Icon.Pulse.ts ,但是我開始收到如下錯誤:
Property X does not exists on type Y
因此,據我了解,我需要讓js保留並簡單地創建L.Icon.Pulse.d.ts文件
現在我的樣子:
import * as L from 'leaflet';
declare module 'leaflet' {
function Pulse(options?: any): any;
}
但是現在我不知道該怎么做,也無法找到一個很好的教程或示例。
有人可以給我一些如何進行的提示嗎?
謝謝!
與其創建d.ts文件,不如繼續忽略打字稿錯誤。
因此,您可以通過npm安裝leaflet-pulse-icon:
npm install leaflet-pulse-icon
...並將其包含在組件中:
import 'leaflet-pulse-icon';
為了避免該錯誤,只需使TypeScript暫時忽略鍵入即可。
let pulsingIcon = L.icon.pulse({iconSize:[20,20],color:'red'});
您應該使用:
let pulsingIcon = (L as any).icon.pulse({iconSize:[20,20],color:'red'});
...將L用作“任何類型”變量。
當然,TypeScript不能在沒有類型(!)的情況下工作,但是偶爾,我發現使用“:any”繞過一些錯誤很方便。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.