Круто ... ваше обновление именно то, что я искал (хотя это 2 шага). Спасибо.

у:

import * as foo from './foo'

Но не могу экспортировать то же самое:

export * as foo from './foo'

Кажется, это тоже не работает ...:

import * as fooImport from './foo';
export const foo = fooImport;

Есть идеи?

--- ОБНОВИТЬ ---

Чего ты пытаешься достичь?

В основном я работаю над реализациейngrx/store бэкэнд для моего приложения. Я хочу организовать свой код следующим образом:

app/core/
  index.ts
  viewer/
    index.ts
    viewer-actions.ts
    viewer-reducer.ts
  view-data/
    index.ts
    view-data-actions.ts
    view-data-reducer.ts

И я хочу использовать свойindex.ts файлы для объединения всех экспортов из каждого подмножества (общая парадигма).

Тем не менее, я хочу сохранить вещиNamespaced, Каждый из моихxxx-reducer.ts а такжеxxx-actions.ts файлы имеют экспорт с тем же именем (reducer, ActionTypes, Actions...) поэтому нормальное сцепление приведет к конфликту имен. То, что я пытаюсь сделать, это разрешить весь экспорт изxxx-actions а такжеxxx-reducer бытьреэкспортированный какxxx, Это позволило бы мне:

import { viewer, viewerData } from './core';

...
    private viewer: Observable<viewer.Viewer>;
    private viewData: Observable<viewData.ViewData>;

    ngOnInit() {
        this.viewer = this.store.let(viewer.getViewer());
        this.viewData = this.store.let(viewData.getViewData());
    }

Вместо более многословного:

import * as viewer from './core/viewer';
import * as viewerData from './core/viewer-data';

...

Это суть в любом случае ...

Ответы на вопрос(1)

Ваш ответ на вопрос