以 react-router-dom 模塊為例
1. npm加上 @types/
根據報錯提示嘗試安裝該庫的TypeScript版本 (該庫的 ts 聲明文件),也就是在該庫的名稱前加上 @types/
npm install @types/XXX
or
yarn add @types/XXX
//本例中
npm install @types/react-router-dom
在方法一可行的情況下,推薦使用方法一但是,不是所有的第三方庫都有 TypeScript 的版本,所以方法一不能保證百分百有效,如果方法一不奏效,那么我們來看一下方法二。
2. 添加配置文件
新建文件夾src/@types/,在 src 目錄新建@types目錄,在其中編寫.d.ts聲明文件,聲明文件會自動被識別,可以在此為一些沒有聲明文件的模塊編寫自己的聲明文件。
本例子為 react-router-dom.d.ts
聲明模塊類型
declare module 'XXX' {
const content: any
export = content
}
//本例中
declare module 'react-router-dom' {
const content: any
export = content
}
實際上在 tsconfig include 字段包含的范圍內編寫 .d.ts,都將被自動識別。在x.js相同目錄創建同名聲明文件x.d.ts,這樣也會被自動識別;typings 聲明管理器,了解不多,已經不推薦使用。(樓主使用無效,想要嘗試可看TypeScript 引入第三方包,報無法找到模塊錯誤)
--
引用:
TypeScript 中的聲明文件