如何在打字稿中同时导出和导入

时间:2020-03-04 10:43:59

标签: javascript typescript

我想导入模型的界面,同时从该文件导出模型界面。

我编写了以下代码,以导入模型的界面,并在该文件中使用它,并在外部导出该界面。

// api/service/post.interface.ts
export import { Post } from '../../model/interface/post.interface.ts; 
// -> An import declaration cannot have modifiers.

type PostPayload = Partial<Post>;

// api/service/post_create.ts
import { Post } from './post.interface'; 
// -> this path has no exported member 'Post'

const a = (title: Post['title']) => {
  ...
}

我犯了什么错误?

2 个答案:

答案 0 :(得分:1)

您不能同时导入要在本地使用的某些内容并将其导出到单个声明中,它们必须是单独的声明:

import { Post } from '../../model/interface/post.interface.ts;
export { Post }; 

尽管可以在单个语句中重新导出某些内容,例如:

export { Post } from '../../model/interface/post.interface.ts;

...它不会创建您可以使用的本地绑定。它只是重新导出,而不是导入。

答案 1 :(得分:0)

您“重新导出”这样的名称:

export { Post } from "../../model/interface/post.interface.ts";

甚至是这样的模块的默认导出:

export { default } from "../../model/interface/somedefault.ts";

甚至使用默认名称进行默​​认导出:

export { default as Other name } from "../../model/interface/somedefault.ts";

但是没有同时导入和导出的语法。