2016-11-29 99 views
1

我正在使用Typescript 2.1。我试图安装一个没有类型的npm包(reactable)。安装没有类型的npm包

如果我做的:

import * as Reactable from 'reactable'打字稿抱怨说找不到这个模块。

如果我做的:

const Reactable = require('reactable')打字稿抱怨require是被禁止的。

如果我这样做,在另一篇文章中提出的怪异语法:

import Reactable = require('reactable');打字稿抱怨import分配不能用来针对ES2015模块。

有没有办法导入npm包没有类型?

+0

这是[TS2304]的副本(http://stackoverflow.com/questions/31173738/typescript-getting-error-ts2304-cannot-find-name-require)?你尝试过'声明var require:any'吗? –

回答

1

您需要声明一些关于您正在使用的内容。 例如

declare module "reactable" { 
    interface ReactableProps { 
     .... 
    } 

    interface ReactableState { 
     .... 
    } 

    class reactable extends React.Component< ReactableProps, ReactableState> { } 
} 

您可以与您正在使用正是和需要的IDE支持开始,慢慢加东西。

您可以查看Writing Declaration Files了解更多关于如何操作的信息。