我正在使用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 中。这是一个好的解决方案吗?有更好的选择吗?具体来说:
管理和构造多个接口以便维护良好的项目结构的最佳方法是什么?
答案 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
。