typescript 提供“--isolatedModules”标志时重新导出类型需要使用“导出类型”,ts

7gcisfzg  于 2023-01-14  发布在  TypeScript
关注(0)|答案(1)|浏览(527)

我已经创建了多个接口,并希望从一个公共的index.ts文件中发布它们,如下所示:

--pages
------index.interface.ts
--index.ts

现在,在我的index.ts中,我导出如下内容:

export { timeSlots } from './pages/index.interface';

而我的index.interface.ts看起来像这样:

export interface timeSlots {
  shivam: string;
  daniel: string;
  jonathan: string;
}

现在当我试着这么做的时候,它会说:
Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'.ts(1205)
不确定为什么会出现此错误,有人能帮助您吗?

bybem2ql

bybem2ql1#

在重新导出类型时,只需使用以下语法:

export type { timeSlots } from './pages/index.interface';
//     ^^^^
// Use the "type" keyword

或者,如果使用的TypeScript版本〉= 4.5,则可以在 each 导出的类型标识符之前使用type修饰符:

export { type timeSlots } from './pages/index.interface';
//       ^^^^
// Use the "type" keyword

第二种方法允许您在单个export语句中混合使用 typevalue 标识符:

export { greet, type GreetOptions } from './greeting-module';

其中greeting-module.ts可能如下所示:

export type GreetOptions = {
  name: string;
};

export function greet(options: GreetOptions): void {
  console.log(`Hello ${options.name}!`);
}

相关问题