我对创建Angular入门库感兴趣,该库具有一组按照我的常规做法定义的组件。
例如,具有订阅路由器事件和锁定用户界面的组件。另一个例子是基于路线的模式窗口系统。
但是我想使库代码独立于UI组件库。
例如,我想拥有我的应用程序启动库和两个用于Angular Material和PrimeNG的组件桥。
在我理想的小马世界中,我看到了图书馆的以下用法:
@NgModule({
imports: [
MyBestAngularStarter.withUILibBridge(MaterialComponentsBridge)
]
})
export class AppModule {}
通过这种方式,我将在MyBestAngularStarter中使用“抽象”组件,并在每个“ bridge”库中定义它们。
但是使用当前的Angular架构是不可能的。每个模块都应隐式定义所有导入的组件。
在每个网桥中都有一种反向逻辑和导入启动器的方法,但是通过这种方式,每个网桥可以定义自己的API,这些API彼此不同。不好目标是使“用户” API对所有网桥保持通用。
有人能给我一些实现目标的想法吗?