我有一個打字稿聲明文件看起來像以下:打字稿 - 聲明合併爲命名空間與類
/// <reference types="node" />
declare namespace foo {
interface bar {
}
}
declare const foo: foo.bar;
export = foo;
這將編譯只是TS 2.0/2.2的罰款。但是,如果命名空間包含任何class
- 例如改變bar
一類,加入另一class bam
等 - 打字稿引發錯誤TS2300: Duplicate identifier 'foo'.
,對於兩個DECLARE線。作爲編寫的代碼的目的是利用宣言的打字稿合併,而當foo
只包含interface
S,代碼工作正常(type
小號似乎罰款foo
包括,太)。爲什麼聲明合併失敗,如果foo
包含任何class
上課?