我正在将 Visual Studio 代码用于打字稿项目,其中我使用了一些 3rd 方 npm js 库。其中一些不提供任何 ts 类型(types.d.ts 文件),因此每当我使用参数或变量而不指定其类型时,vs 代码的 linting 都会显示此错误: 参数隐式具有“任何”类型。 此外, ts 不会编译。
我怎样才能防止这种情况发生?
原文由 Ronin 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在将 Visual Studio 代码用于打字稿项目,其中我使用了一些 3rd 方 npm js 库。其中一些不提供任何 ts 类型(types.d.ts 文件),因此每当我使用参数或变量而不指定其类型时,vs 代码的 linting 都会显示此错误: 参数隐式具有“任何”类型。 此外, ts 不会编译。
我怎样才能防止这种情况发生?
原文由 Ronin 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果第三方库不提供类型,请先在 npm 中搜索 @types/SOMELIBRARY
(将 SOMELIBRARY 替换为模块的 npm 名称):
npm search @types/SOMELIBRARY
如果存在,请 npm 安装它:
npm install @types/SOMELIBRARY
这是为不自己做的项目定义的类型存储库。如果那里不存在类型定义,您可以自己定义类型:
// yourmodule.d.ts
declare module "yourmodule" {
export default function somefunction(...): T
}
Typescript 应该找到并使用它来声明 yourmodule
中的类型。
在这里查看更多信息: https ://www.typescriptlang.org/docs/handbook/declaration-files/library-structures.html
您可以在此处简单地将 yourmodule
的所有部分定义为 any
作为临时解决方案,并且可以随时轻松添加更多细节。如果你最终得到了一个非常漂亮且可用的 yourmodule.d.ts
,请考虑将其添加到definitelyTyped: https ://github.com/DefinitelyTyped/DefinitelyTyped 这就是上面的 @types/LIBRARY
类型定义的来源从。
原文由 Vectorjohn 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,要使打字稿容忍参数而不声明其类型,请编辑
tsconfig.json
二、安装 tslint npm 包作为 tslint vs code 扩展的先决条件
三、安装 tslint vs code扩展