できます:
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
からのすべてのエクスポートをre-exported as 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';
...
とにかく要点は...
TypeScriptで*をfooとしてエクスポートすることは可能ですか?
いや。ただし、2段階のプロセスを使用できます。
src/core/index.ts
import * as Foo from "./foo";
import * as Bar from "./bar";
export {
Foo,
Bar,
}
src/index.ts
import { Foo, Bar } from "./core";
function FooBarBazBop() {
Foo.Baz;
Foo.Bop;
Bar.Baz;
Bar.Bop;
}
src/core/foo/index.tsandsrc/core/bar/index.ts
export * from "./baz";
export * from "./bop";
src/core/foo/baz.tsandsrc/core/bar/baz.ts
export class Baz {
}
src/core/foo/bop.tsandsrc/core/bar/bop.ts
export class Bop {
}
参照: https://www.typescriptlang.org/docs/handbook/modules.html