node.js - 为 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
谁能指出我正确的方向?
解决方案
您确定您使用的是正确的模块吗?具有声明文件的模块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) { });
这里解释了模块分辨率。
对于模块soap
,package.json
定义"types": "./lib/soap.d.ts"
.
推荐阅读
- firefox - FF 68.1.0esr 中的预安装扩展不起作用
- sql - 如何从具有重叠时间段的多个维度从顺序事务中获取开始和结束日期?
- git - GitLab SSH 密钥在项目目录中不起作用
- python - 在python pyod中获取ROC曲线下的面积?
- azure-active-directory - 如何在团队选项卡中使用 adaj.js 注销
- kubernetes - Istio Ingress 正则表达式否定
- jquery - Pignose 日历 - 按钮 + 2 个月的日期范围
- javascript - 滚动到底部仅在滚动到顶部时在 IE 和 Edge 中不起作用
- amazon-web-services - 如何为其他帐户委派组织单位创建?
- vue.js - 使用 slot-scope 时,在 vue.js 中设置部分文本的样式