【发布时间】:2020-05-07 20:57:26
【问题描述】:
基本问题:是否可以只对imports 进行类型检查?
我确实想知道
-
TS: property 'id' does not exist on type 'Stripe.customer'(例如) - 但不是在我自己的对象上,比如
property 'prop1' does not exist on type '{}'
背景
我正在开发一个 Javascript 项目,我想使用 Typescript 为导入的库添加智能感知,否则使用 JS 编写,所以我将我的
.js文件更改为.ts在开发过程中。 († 见底部)在Javascript项目中,很多对象被初始化为
let x = {},然后属性被添加为x.prop1 = value1。TSLint 然后警告我,
property 'prop1' does not exist on type 'x'。
我希望仅在导入时收到此警告。
例如,如果我
import * as stripe from 'stripe',那么获得警告property 'id' doest not exist on type 'customer'会很有帮助。按照这个线程 property does not exists on type '{}' ,我可以通过将
x.prop1转换为x['prop1']来基于每个对象手动实现这一点。我还尝试过使用内联 cmets 来禁用各种 TSLint 规则,但警告来自 VSCode 中的 Typescript 语言功能,而不是 TSLint。
但是,为了更准确地重申这个问题: 是否有指令或配置选项允许我向我的 own 代码中定义的对象添加属性而不发出警告,同时仍然警告/类型检查导入的库?
† 如果有一种替代的、不那么笨拙的方法可以在 Javascript 中对导入的库进行智能感知,我会全力以赴!
【问题讨论】:
标签: typescript visual-studio-code intellisense