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 phía sau một tệp tải nhiều tệp khác và chọn những gì để 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 kinda xấu xí, chủ yếu là với các giao diện.Giao diện nhập khẩu xuất khẩu TypeScript
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
Cách 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 nhưng tôi muốn import
một tệp.
Cảm ơn tất cả các biến thể! TS vừa trở nên đẹp hơn nhiều. –
Tuy nhiên, việc sử dụng lại kiểu này là không hợp lệ trong không gian tên –
Có một lớp lót để xuất và nhập giao diện trong TS tương tự như ví dụ cũ của bạn không? Hoặc là nó chỉ là một trường hợp nhập khẩu và sau đó tái sử dụng cùng một dòng, nhưng thay đổi nó thành một ví dụ xuất khẩu. 'import {IMessage} từ './message-types';' và sau đó trên dòng tiếp theo có 'export {IMessage} từ './message-types';' – mtpultz