如何从其他工作空间库导入材料组件引用

问题描述 投票:0回答:1

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

import { MaterialLibModule } from 'material-lib';

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

angular workspace material angular-library
1个回答
0
投票

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

长答案是,您可以通过从库中导出材料模块来公开它们。但是您将需要做一些角度模块操练,以便在您的lib中对其进行配置,并使该配置延续到您的主应用程序中。

还有另一个潜在的问题-危险的是,在未通过将其安装在主应用程序上来确保其存在的情况下,引用了材质主题样式表(来自angular.json)是危险的,因此您仍然会发现自己正在安装它。

最重要的是,它更安全,并且只需要在父应用程序中包含资料,而无需尝试将其打包在您的lib中,因此只需较少的维护和编码。

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

© www.soinside.com 2019 - 2024. All rights reserved.