报错
Unsupported private class ObjTypeSelectorComponent. This class is visible to consumers via SimpleFormsModule -> ObjTypeSelectorComponent, but is not exported from the top-level library entrypoint.
解决方案
未在index.ts / projects.ts中导出,
在组件所在目录index.ts / projects.ts文件中添加export即可
这个问题的原因是什么?
Genie
当你创建一个 Angular 库时,顶层入口文件是你的库与外部模块或应用程序进行交互的主要接口。导出组件、服务或指令意味着将其公开给其他模块或应用程序使用。
以下是一些原因解释为什么需要在顶层入口文件中导出组件、服务或指令:
-
可见性:如果你想让其他模块或应用程序能够使用你的组件、服务或指令,你必须将它们导出。只有导出的项才能在其他模块或应用程序中被看到和访问。
-
统一访问点:通过将所有需要被其他模块或应用程序使用的内容导出到顶层入口文件中,可以提供一个统一的访问点。这样其他开发人员就知道他们可以从哪里引入你的库中的可用功能。
-
依赖关系管理:Angular 库可能会依赖其他的库或模块。通过将需要导出的组件、服务或指令集中在顶层入口文件中,可以更好地管理这些依赖关系,并确保任何使用你的库的开发人员都能够正确地安装和配置这些依赖项。
总之,将组件、服务或指令导出到顶层入口文件中是为了确保其他模块或应用程序能够访问并正确使用你的库中的功能。这样可以提供良好的可见性、统一的访问点和更好的依赖关系管理。