angular - 打字稿不导入的代码的打字稿类型?
问题描述
这是 Angular 应用程序的一个问题,但我不认为这是一个特定于 Angular 的问题。
我正在开发一个 Angular 7 应用程序,并且正在使用一些库,这些库是通过前端的脚本标签从其他来源(Stripe、recaptcha、googletags 等)导入的。我将在这里使用 Stripe 作为示例,因为 Stripe 绝对要求客户端从其导入前端库以Stripe.js
符合 PCI 标准,因此从源服务器端不是一个选项。
我已经安装了Stripe
来自definitelyTyped 的类型。如果我在组件中添加declare let Stripe: any;
和使用Stripe
,它可以工作,但当然它不是类型安全的。如果我省略了声明,VSCode 会发现类型很好,并且编辑器会捕获类型错误,但它不会编译,(error TS2304: Cannot find name 'Stripe'.
)可能是因为我没有import
关于 Stripe 的声明。
有什么方法可以提示 TypeScript 它应该使用来自definitelyTyped 的类型来捕获类型错误,而不需要导入 Stripe 库本身?
编辑:我收回我所说的不认为这是 Angular 特定的。我现在认为这可能与角度编译过程有关。
解决方案
我的问题的答案似乎在这里:@types/googlemaps/index.d.ts' is not a module 也就是说,我可以使用三斜杠指令,或者在根 typings.d.ts 文件中声明模块。
推荐阅读
- javascript - React 向 Node 发出 Get 请求的问题(快递)
- sql - 字段与联接中的 SQL 性能子查询
- sdn - 从交换机获取流信息并将信息复制到 csv 文件中(Ryu 控制器)
- javascript - Bootstrap popper 对我的生活不起作用
- encryption - 解密 Word 文档,了解其部分内容
- javascript - 如何从 yupgrid 中删除或禁用添加行和删除行操作按钮?
- python - 如何从 PHP exec 调用 python
- python - 如何解决给定节点连接、节点值和查询的树差异问题?(Dijkstra 算法)
- javascript - React Native - [未处理的承诺拒绝:错误:注册错误]
- node.js - 如何在输出子进程nodejs中将格式列表转换为json?