【发布时间】:2019-03-04 19:59:27
【问题描述】:
在一个需要我声明现有 Javascript 库的新模块的项目上工作,但是在创建类型时,我注意到当尝试按照 typescript documentation 中的指示扩展命名空间时,它完全覆盖了 pre-定义的命名空间。
我不确定这是打字稿中的非法操作还是 VSCode 如何解释打字的问题。
例子:
// file: existing.d.ts
export as namespace A;
export class Foo {}
// file: extensions.d.ts
namespace A {
export class Bar {}
}
// resulting intellisense output
A.Foo // doesn't exist
A.Bar // exists
但是,如果将命名空间的原始声明更改为namespace A {} 的格式,它就会按预期工作。
例子:
// file: existing.d.ts
namespace A {
export class Foo {}
}
// file: extensions.d.ts
namespace A {
export class Bar {}
}
// resulting intellisense output
A.Foo // exists
A.Bar // exists
我想主要问题是这在 Typescript 中是否合法,或者这是否是 VSCode 的问题。
【问题讨论】:
标签: typescript visual-studio-code typescript-typings