Używam modułów AMD i chcę ukryć złożony interfejs za jednym plikiem, który ładuje kilka innych plików i wybiera, co eksponować i jak. To działa, ja korzystam z tego rozwiązania, ale to wydaje się trochę brzydkie, głównie z interfejsami.Importowany interfejs eksportu 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
Zastosowanie:
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
lepiej rozwiązań tam? Nie chcę umieszczać wszystkiego w jednym pliku, ale chcę uzyskać pojedynczy plik o wartości import
.
Dzięki za wszystkie odmiany! TS stało się o wiele piękniejsze. –
Niedozwolone jest jednak używanie tego stylu ponownego wywozu w przestrzeni nazw –
Czy istnieje jednolinijkowy mechanizm eksportu i importowania interfejsu w TS podobny do starego przykładu? Czy jest to tylko przypadek importowania, a następnie ponownego użycia tej samej linii, ale zmiana jej na eksport, np. 'import {IMessage} z './message-types';' a następnie w następnym wierszu znajduje się 'export {IMessage} from './message-types';' – mtpultz