我有一个文件夹,其中包含许多在整个应用程序中使用(导入)的服务和模型 - 在我的例子中,这些是API的客户端和数据模型。
我正在寻求简化调用代码的导入,所以我正在考虑创建一个barrel。我还想提供类似于Angular HTTP_PROVIDERS
的常量,以便更容易使用Angular注册导出的服务。
我目前的做法是:
API_SERVICES
,因此可以使用Angular注册这导致每个导出符号有三行代码。这似乎过于冗长,我担心列表会不同步。
import { LanguageApi } from "./language-api.service";
export { /*... ,*/ LanguageApi /*, ...*/ };
export const API_SERVICES: any[] = [ /*... ,*/ LanguageApi /*, ...*/ ];
我想让它更干。有没有办法缩短它?也许我可以以某种方式重用API_SERVICES
数组将其内容导出为单个符号?
答案 0 :(得分:0)
您可以单独创建一个带有导出的桶,并为常量创建另一个文件...例如
// index.ts
export { LanguageApi } from "./language-api.service";
export * from "./some-other.service";
// providers.ts
import { LanguageApi } from "./index";
export const API_SERVICES: any[] = [ /*... ,*/ LanguageApi /*, ...*/ ];