ts項目中引入js的 npm包

1 可以選擇安裝其npm包的typescript版本   npm install @types/包名 --save   一般都是這樣命名

如果沒有安裝成功 那說明他沒有ts版本, 就只能另想辦法

2 如果是自己寫的js庫  可以單獨編寫.d.ts文件

3 如果是npm包的話  可以引入微軟的自動生成工具 dts-gen

// 使用方法  

// 首先安裝下他的包
npm install -g dts-gen
// 假設我們要給一個名爲 ceshi 的npm包自動生成聲明文件 
    // 沒有安裝ceshi包的需要先安裝 npm install ceshi ....
    // 然後就是dts-gen的生成命令
    dts-gen -m ceshi
    // 然後就會在根目錄生成一個ceshi.d.ts聲明文件



部分npm包 會有 window is not defined 的錯誤   應該是此npm包 中調用的window對象無法在ts語法中直接使用

【這裏哪位有解決辦法...求支招】

如果是三方包 ... 那就沒什麼好辦法

如果是自己寫的庫  可以將window替換爲<any>window  (這個沒有測試過)

 

下面說下我目前在項目中使用的方法

1 確認tsconfig.json中的 noImplicitAny 配置爲 false

話說 我使用了裝飾器 

紅色爲一種方法, 綠色爲一種方法 測試都是可用的

編譯的時候沒有報警告或錯誤 但是vscode有提示

就是這紅色的小波浪~

 

話說

如果沒有用裝飾器 而僅僅是引入ts的話 應該是沒問題的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章