是否有办法在同一个TypeScript文件中同时导入和导出同一个命名变量?
例如,以下情况:
import { State as UIState } from './ui'
import { State as ConnectionState } from './connection'
export { State as UIState } from './ui'
export { State as ConnectionState } from './connection'
export type State = {
ui: UIState
connection: ConnectionState
}
为了降低写作成本,我希望能够写出类似的东西:
export import { State as UIState } from './ui'
有什么想法吗?
答案 0 :(得分:2)
是否有办法在同一个TypeScript文件中同时导入和导出同一个命名变量
没有。没有 JS模块语法。
答案 1 :(得分:0)
创建“ index.ts”文件(或foo.ts)减少了重复的导入/导出。 (我不确定这是否是一个好的解决方案)
export * from './product-form.component'
export * from './product-list.component'
角度模块
import { NgModule } from '@angular/core';
import * as c from './index';
export * from './index'
@NgModule({
declarations: [
c.ProductListComponent,
c.ProductFormComponent,
]
})
export class ProductModule { }
答案 2 :(得分:0)
您可以合并/聚合导出和导入语句,将它们合并为一个语句,如 export
MDN doc 中所述。应用于您的示例:
export { State as UIState } from './ui'
上述方法适用于命名导出和默认导出,也支持解构。