如何构建大型 Angular 库

How to structure a big Angular library

我正在创建一个非常大的 Angular 库。 因为我有很多 类 和组件,所以我将它们按层次结构组织起来。 例如,我有:

public_api.ts 中,我有很多导出,每个导出一个 component/module/service 我想在库中公开,但这会展平我的层次结构。

我发现维护层次结构的唯一方法是为层次结构树上的每个组创建一个库。例如,面板库 (Panels-lib)、图层库 (Layers-lib) 等,然后在文件系统上复制层次结构,将每个库放在单独的文件夹中:面板文件夹、图层文件夹等等

这样,在主应用中我可以这样导入组件:

import {ToolBar} from "MyMap/Panels/Panels-lib";
import {Line} from "MyMap/Geometries/Geometries-lib";

有没有更好的方法来实现这个? 提前谢谢你。

我认为这篇文章可以帮助 https://medium.com/angular-in-depth/improve-spa-performance-by-splitting-your-angular-libraries-in-multiple-chunks-8c68103692d0

以下是使用多个入口点以最有效的方式设置库导出的方法:

另请查看他们如何构建 Angular Material components repo,作为参考。