在react typescript項目中如何使用沒有@type定義的npm包


最近在用react重構我們的Angularjs項目,我使用的是create react-app 構建的 使用typescript的react項目

其中遇到一個問題就是有的npm包比如: react-loadable 在npm上是沒有@types/react-loadable的那么我們如何在符合TS語法的基礎上引入這個包呢?

首先正常npm install react-loadable --save 然后在項目中找到react-app-env.d.ts 加上以下代碼即可:

declare module 'react-loadable' {
  const classes: any;
  export default classes;
}

然后正常引入即可:

import Loadable from 'react-loadable';

如果你不知道 node_module里的react-loadable export 的是什么,你也懶得去node_module里看一眼

像這樣引入也可以(但是不推薦)

import * as Loadable from 'react-loadable';

 

關於:react-app-env.d.ts  文件的解釋:https://juejin.im/post/5c6ad288e51d457fd6233821#heading-6

其實在項目中還有一個ts的types.d.ts文件但是我們已經是用create react-app 構建的typescript項目,所以改寫react-app-env.d.ts文件就足夠了。

關於 *.d.ts  聲明文件的解釋:https://ts.xcatliu.com/basics/declaration-files.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM