【发布时间】:2016-04-24 13:49:54
【问题描述】:
我使用的 IDE 是 WebStorm,但我的问题适用于任何 IDE。
我正在将一些第三方节点模块安装到我的项目中,而有些在 DefinitiveTyped 中没有可用的定义文件,或者定义文件已过时。我目前用于这些库的解决方法是以下之一:
- 将第三方命名空间/模块声明为类型any
-
声明一个最小定义,它指定我使用的库公开的方法。例如:
declare module 'redux-simple-router' { export function syncHistory(history: any): any export function routeReducer(): any }
2 比 1 稍微好一点,因为它提供了更多信息,例如,我可以为方法名称自动完成,但是,如果我使用 non -Typescript ES6 和 Babel。有什么方法可以在我的项目中结合这两种智能感知方式?
换句话说,我正在寻找一种告诉 WebStorm 的方法:对于每个导入,如果您有类型定义,则使用它,如果没有 - 使用常规智能感知(即在 node_modules 中搜索导入)。
我希望我的问题以一种有意义的方式表达,如果它以任何方式令人困惑,请告诉我。
【问题讨论】:
标签: javascript typescript intellisense webstorm definitelytyped