Ich versuche, neue Typen im Fenster Objekt zu definieren, wie webkitAudioContext
zu erklären. Ich habe eine separate Datei window.d.ts genannt erstellt und im Innern, dass ich den Code unten hinzugefügt,Richtiger Weg Typoskript Definitionen für Fenster
interface Window {
AudioContext: Constructable;
webkitAudioContext: Constructable;
}
interface Constructable {
new();
}
von einem anderen Modul I, wie unten die Definitionsdatei bin importieren,
/// <reference path="./window.d.ts" />
let contextClass = window.AudioContext || window.webkitAudioContext;
let context = new contextClass();
Die beiden oben genannten Linien funktioniert gut.
Wenn ich die Defintion-Datei wie unten ändern,
declare module window {
export interface Window {
AudioContext: Constructable;
webkitAudioContext: Constructable;
}
interface Constructable {
new();
}
}
Dann arbeitet es nicht. Was ist der richtige Weg um Definitionen zu definieren?
Ich glaube nicht, dass Sie die Window-Deklaration in einen Namespace einfügen können, es würde nicht mehr mit dem Typ des standardmäßig bereitgestellten Fenstertyps übereinstimmen. – toskv