Javascriptプロジェクトの入力を定義したいと思います。のは、単純化されたバージョンを考えてみましょう:typescript型定義ネストされたネームスペースとインターフェイス
a
|
+ A.js
+ b
|
+ B.js
フォルダ「」、およびその内部に存在したフォルダ「b」があり、私のようにそれを使用したいがあります:
import { A } from "a"
import { B } from "a/b"
ことタイピング
declare namespace a {
interface A { }
namespace b {
interface B { }
}
}
declare module "a" {
export = a
}
declare module "a/b" {
export = a.b
}
しかし、これは私にエラーCannot use namespace 'a' as a value
を与える:私は、理想的にはこのようなもののようなルックスを持っていると思います。
インターフェイスをクラスに変更すると、問題が解決したことに気付きました。誰かがそれがなぜそうなのか、いくつかの光を発することができますか?そのような定義をインターフェースで得る方法はありますか?
あなたは何をすべきか「名前空間aとabが実行時に実際にグローバルとして利用可能でない限り」という意味ですか? – Wickoo
@Wickooつまり、 'setTimeout'のように、それらをインポートすることなくアクセスできます –