Я пытаюсь написать упрощенную поверхность API, которая объединяет кучу типов машинописных модулей (т. Е. let asdf = new Root.A.B.C()
).Частичный экспорт машинописных модулей в пространстве имен
Я хотел бы разделить импорт на пространства имен. Я не уверен, поддерживает ли машинопись это, я надеюсь, что это так. Что-то похожее на это ...
import { C, default as D } from './ModuleA';
import * as B from './ModuleB';
export namespace A {
export { C, D };
};
export { B };
ModuleB
это пространство имен, потому что я экспортирует все под псевдонимом как B
, но я не могу сделать частичный экспорт ModuleA
, потому что вы не можете exportinside пространства имен.
Надеюсь, я просто пропустил что-то очевидное и простое.
Спасибо.
Незначительные: нетрадиционное иметь точку с запятой в 'имена Foo {}', как нетрадиционные в ', если() {};' 'или функциях() {};' 'или класс Foo {};'. Не наносит ли вреда, но даже любители с запятой (например, я) не пишут точку с запятой – basarat
Я согласен, что это выглядит странно, но в случае экспорта АСТ фактически анализируется как утверждение (я предполагаю), которое по своей природе заканчивается полу. Мне немного любопытно, как tslint обрабатывает это ... – pjs
Я (случайно) читал спецификацию грамматики и заметил, что не все экспортные выражения являются операторами, а экспорт пространства имен среди других определенно не анализирует полу. поэтому я соглашусь с тем, что полупрозрачный экспорт пространства имен, безусловно, нестандартен :) – pjs