打字稿。如果模块没有@types怎么办?

时间:2017-11-20 09:20:01

标签: typescript

我正在使用打字稿开发反应应用程序。

这是我的App.tsx。正如您所看到的,react@types但其他模块没有

enter image description here

有没有办法存根这些模块或将它们用作any或其他

2 个答案:

答案 0 :(得分:3)

您所引用的所有模块都具有@types。但是,假设您使用的模块没有,例如到目前为止,库kea(keajs)尚未定义@type

解决此问题的最简单方法是创建一个声明文件declarations.d.ts并声明有问题的模块,如下所示:

declare module "kea"

然后在您的tsconfig.json中,请确保在include属性中您具有以下内容:

...
"include": [
  "src", "declarations.d.ts"
]
...

或者只需将declarations.d.ts放在src文件夹中,就无需触摸此文件。

请注意,模块将没有任何类型(模块将只是一个大的any);但您不会有任何错误。

答案 1 :(得分:0)

实际上,我很确定这些模块有data-target="#preview0"。点击这里:

https://www.npmjs.com/package/@types/react-redux https://www.npmjs.com/package/@types/redux-persist https://www.npmjs.com/package/@types/react-router

如果您使用NPM,您可以安装,例如react-redux,执行:

@types