Я использую модули AMD, и я хочу скрыть сложный интерфейс за одним файлом, который загружает несколько других файлов и выбирает, что показывать и как. Он работает, я использую это решение, но он выглядит немного уродливым, в основном с интерфейсами.
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
Использование:
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
Есть ли лучшие решения? Я не хочу помещать все в один файл, но я хочу, чтобы import
один файл.