Ich verwende AMD-Module und möchte eine komplexe Schnittstelle hinter einer Datei verbergen, die mehrere andere Dateien lädt und auswählt, was und wie verfügbar gemacht werden soll. Es funktioniert, ich benutze diese Lösung, aber es fühlt sich irgendwie hässlich an, hauptsächlich mit den Schnittstellen.
import Types = require('./message-types');
import MessageBaseImport = require('./message-base');
export interface IMessage extends Types.IMessage {} // This is an interface
export var MessageBase = MessageBaseImport; // This is a class
Verwendung:
import Message = require('message');
import { * } as Message from 'message'; // Or with ES6 style
var mb = new Message.MessageBase(); // Using the class
var msg: Message.IMessage = null; // Using the interface
Gibt es bessere Lösungen? Ich möchte nicht alles in eine einzelne Datei einfügen, sondern import
eine einzelne Datei.