如何构建大型 Angular 库
How to structure a big Angular library
我正在创建一个非常大的 Angular 库。
因为我有很多 类 和组件,所以我将它们按层次结构组织起来。
例如,我有:
- 地图
- 面板
- 工具栏
- 主面板
- 等等
- 图层
- BingLayer
- WMSLayer
- WMTSLayer
- 几何
- 点
- 行
- 多边形
等等
在 public_api.ts
中,我有很多导出,每个导出一个 component/module/service
我想在库中公开,但这会展平我的层次结构。
我发现维护层次结构的唯一方法是为层次结构树上的每个组创建一个库。例如,面板库 (Panels-lib)、图层库 (Layers-lib) 等,然后在文件系统上复制层次结构,将每个库放在单独的文件夹中:面板文件夹、图层文件夹等等
这样,在主应用中我可以这样导入组件:
import {ToolBar} from "MyMap/Panels/Panels-lib";
import {Line} from "MyMap/Geometries/Geometries-lib";
有没有更好的方法来实现这个?
提前谢谢你。
以下是使用多个入口点以最有效的方式设置库导出的方法:
另请查看他们如何构建 Angular Material components repo,作为参考。
我正在创建一个非常大的 Angular 库。 因为我有很多 类 和组件,所以我将它们按层次结构组织起来。 例如,我有:
- 地图
- 面板
- 工具栏
- 主面板
- 等等
- 图层
- BingLayer
- WMSLayer
- WMTSLayer
- 几何
- 点
- 行
- 多边形 等等
- 面板
在 public_api.ts
中,我有很多导出,每个导出一个 component/module/service
我想在库中公开,但这会展平我的层次结构。
我发现维护层次结构的唯一方法是为层次结构树上的每个组创建一个库。例如,面板库 (Panels-lib)、图层库 (Layers-lib) 等,然后在文件系统上复制层次结构,将每个库放在单独的文件夹中:面板文件夹、图层文件夹等等
这样,在主应用中我可以这样导入组件:
import {ToolBar} from "MyMap/Panels/Panels-lib";
import {Line} from "MyMap/Geometries/Geometries-lib";
有没有更好的方法来实现这个? 提前谢谢你。
以下是使用多个入口点以最有效的方式设置库导出的方法:
另请查看他们如何构建 Angular Material components repo,作为参考。