と名前空間のためにマージ:これはTS 2.0/2.2でうまくコンパイル活字体 - 宣言私は次のような活字体宣言ファイル持つクラス
/// <reference types="node" />
declare namespace foo {
interface bar {
}
}
declare const foo: foo.bar;
export = foo;
を。ただし、名前空間にclass
が含まれている場合(例: bar
をクラスに変更し、class bam
などを追加する。 - Typescriptは、2つの宣言行に対して、TS2300: Duplicate identifier 'foo'.
というエラーをスローする。書かれたコードの目的は、TypescriptのDeclaration Mergingを利用することです。foo
にはinterface
が含まれていると、コードは期待通りに機能します(type
はfoo
にも含まれているようです)。 foo
にclass
が含まれていると、宣言のマージが失敗するのはなぜですか?