TypeScript:“同时”导入和导出

Sam*_*uel 11 types module typescript

有没有办法在同一个 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
}
Run Code Online (Sandbox Code Playgroud)

为了降低写作成本,我希望能够写出这样的东西:

export import { State as UIState } from './ui'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

bas*_*rat 6

有没有办法在同一个 TypeScript 文件中同时导入和导出同名变量

不。没有相应的JS 模块语法。


Dav*_*ghi 6

创建“index.ts”文件(或 foo.ts)减少了重复的导入/导出。(我不确定这是否是一个好的解决方案)

export * from './product-form.component'
export * from './product-list.component'
Run Code Online (Sandbox Code Playgroud)

角度模块

import { NgModule } from '@angular/core';
import * as c from './index';
export * from './index'

@NgModule({
    declarations: [ 
        c.ProductListComponent,
        c.ProductFormComponent, 
    ]
  })
  export class ProductModule { }
Run Code Online (Sandbox Code Playgroud)