首页 > 解决方案 > 为 Node 模块导入 TS 类型

问题描述

我正在尝试为 node-soap 导入 Typescript 类型。

我需要使用 Typescript 从 React 应用程序访问 WSDL API。node-soap 模块看起来是个不错的选择,但我需要 Typescript 支持。在 node-soap github 上,我看到一个包含所有 Typescript 类型的文件,但我不知道如何导入它们。我将“soap.d.ts”复制到 node_modules/node-soap 目录中,但 VSCode 仍然说我需要声明模块。我不知道在哪里做。

我对 Typescript 还是很陌生。对于以前的模块,我依赖于使用@types,并且我还没有找到关于在不存在@types 时如何设置类型的具体文档。

https://github.com/vpulim/node-soap/blob/7d912aad2102aced9751e81e76f4a98a930bd0b9/lib/soap.d.ts

谁能指出我正确的方向?

标签: node.jsreactjstypescriptnode-soap

解决方案


您确定您使用的是正确的模块吗?具有声明文件的模块soap.d.ts应安装:

npm install soap

然后至少对我来说,以下是有效的,即 IntelliSense 正在显示预期的参数类型createClient

 import * as soap from 'soap';

 var url = 'http://example.com/wsdl?wsdl';
 var args = {name: 'value'};
 soap.createClient(url, function(err, client) { });

这里解释了模块分辨率。

对于模块soappackage.json定义"types": "./lib/soap.d.ts".


推荐阅读