【问题标题】:How to import Material component references from other workspace library如何从其他工作区库中导入材料组件参考
【发布时间】:2020-08-06 20:22:55
【问题描述】:

我有一个 Angular 工作区,其中有主应用程序项目和一个包含材质模块的库,通过这种方法,我可以使用从 material-lib 导出的材质模块。

import { MaterialLibModule } from 'material-lib';

问题是当我需要使用某些材质组件的引用时,比如 MatBottomSheet 和 MatBottomSheetRef,我无法从 material-lib 导入它。 我应该在我的主应用程序上安装 @angular/material 模块吗?如果我想让材料与主应用程序项目完全隔离,那应该走哪条路?

【问题讨论】:

    标签: angular angular-material workspace angular-library


    【解决方案1】:

    简短的回答是,您可能应该将@angular/material 与您的 lib 项目分开导入您的主应用程序中。

    长答案是您可以通过从库中导出材料模块来公开它们。但是你需要做一些角模块体操来在你的库中配置它,并将该配置转移到你的主应用程序中。

    还有另一个潜在问题 - 引用材料主题样式表(来自 angular.json)而不通过将其安装在您的主应用程序上来确保它存在是很危险的,因此无论如何您都会发现自己安装它。

    底线是它更安全,需要更少的维护和编码,只需将材料包含在父应用程序中,而不是尝试将其打包到您的库中。

    我会考虑通过包含在可共享库中的方式包含材料的唯一情况是,如果我想扩展材料库并添加新功能,并且希望该功能在多个客户应用程序之间保持一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 2021-04-18
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      • 2015-02-06
      • 2020-02-18
      相关资源
      最近更新 更多