我可以:
src
但似乎无法导出相同的内容:
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
文件来链接每个子集的所有导出(常见范例)。
但是,我想保留 namespaced 。我的index.ts
和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());
}
无论如何都是要点......
答案 0 :(得分:45)
自 TypeScript 3.8 发布以来,您就可以为导出添加别名。
示例:
Intent intent = getIntent();
Uri data = intent.getData();
参考:https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html
答案 1 :(得分:24)
是否可以在typescript中将*导出为foo
不。但是,您可以使用两个步骤:
的src /核心/ 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.ts 和 src / core / bar / index.ts
export * from "./baz";
export * from "./bop";
src / core / foo / baz.ts 和 src / core / bar / baz.ts
export class Baz {
}
src / core / foo / bop.ts 和 src / core / bar / bop.ts
export class Bop {
}
另请参阅:https://www.typescriptlang.org/docs/handbook/modules.html