Angular-维护和结构化接口的最整洁的方法是什么?

时间:2019-03-07 12:14:40

标签: angular typescript ionic-framework interface

我正在使用Ionic / Angular开发应用程序。为了处理HTTP响应,我创建了一个接口来管理JSON响应。我在文件底部添加了一个名为interface IOne的接口。喜欢:

export Class Example { 

  private getExample() {
    this.http.get(url, {}, {}).then((result) => { const data: IOne = result.data; });
    return data;
  }

}  

export interface IOne {
  name: string;
}

将来,由于我将创建多个具有不同响应类型的HTTP请求,因此将创建多个接口。这样,我的Class Example下将有非常长的接口列表,并且这不是整齐的(我想是吗?):它将看起来像这样:

export Class Example { }  

export interface IOne {
  name: string;
}

export interface ITwo {
  age: number;
}

export interface IThree {
  color: string;
}

我已经考虑过创建1个名为 interfaces.ts 的文件,并将该文件导入到 example.ts 中。这是一个好的解决方案吗?有更好的选择吗?具体来说:

管理和构造多个接口以便维护良好的项目结构的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Angular CLI,则可以生成一个库,在其中将一个或多个项目的所有共享资源放在同一结构中。

只需在您的项目根目录中运行以下命令:

ng generate library shared

现在,您将看到一个名为projects的新文件夹,其中也有一个shared文件夹。

在此shared文件夹中,您可以放置​​所需的任何内容,然后通过public_api.ts文件将其公开,您将通过一些示例来了解它是如何完成的。

要观看您的shared库运行,请执行以下操作:

ng build shared --watch

然后将您的主应用程序中的内容导入就像操作一样简单:

import {MyInterface} from 'shared';

请确保在您运行ng serve的构建命令后运行shared ,否则dist文件夹中将不存在该命令。导致您的主应用显示错误,提示找不到shared