Tôi sử dụng các mô-đun AMD và tôi muốn ẩn một giao diện phức tạp đằng sau một tệp tải một số tệp khác và chọn những gì sẽ hiển thị và cách thức. Nó hoạt động, tôi sử dụng giải pháp này nhưng nó cảm thấy hơi xấu, chủ yếu là với các giao diện.
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
Sử dụng:
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
Bất kỳ giải pháp tốt hơn ra khỏi đó? Tôi không muốn đặt mọi thứ vào một tệp duy nhất mà tôi muốn vào importmột tệp duy nhất.