AMD modüllerini kullanıyorum ve birkaç başka dosyayı yükleyen ve neyin nasıl ifşa edileceğini seçen karmaşık bir arayüzü bir dosyanın arkasına gizlemek istiyorum. Çalışıyor, bu çözümü kullanıyorum ama çoğunlukla arayüzlerde biraz çirkin geliyor.
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
Kullanım:
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
Orada daha iyi bir çözüm var mı? Her şeyi tek bir dosyaya koymak istemiyorum ama tek bir dosyaya koymak istiyorum import.