【问题标题】:Is there a way to include a library, such as Angular Material, in my own custom library?有没有办法在我自己的自定义库中包含一个库,例如 Angular Material?
【发布时间】:2020-09-21 10:35:44
【问题描述】:

我正在尝试将此库与故事书一起使用,并有一个使用来自 Material 的 MatRadioModule 的测试组件。我在 Jest 单元测试中收到以下错误。

模板解析错误: 'mat-radio-button' 不是已知元素: 1. 如果“mat-radio-button”是一个 Angular 组件,则验证它是否是该模块的一部分。 2. 如果“mat-radio-button”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。 ("

我的故事书和单元测试一直有效,直到我尝试使用 Material 组件,然后它就坏了。

【问题讨论】:

  • 您需要将 MatRadioModule 导入您的测试模块。
  • 我确实在测试模块中导入了 MatRadioModule,但它仍然没有找到它。在找不到任何 Material 组件的地方使用 Material 时我的配置是否有误?

标签: angular libraries storybook


【解决方案1】:

这个问题已经回答here

通常,您的库所依赖的代码应添加到该库的package.json 中的peerDependencies 中。

希望这会有所帮助。

【讨论】:

  • 我的 package.json 的依赖项中有 @angular/material。我读到这是可能的,但仍然没有找到材料组件的运气。是否需要其他东西才能正常工作?
【解决方案2】:

想通了。必须将 Angular 组件导入到规范文件和故事中,以便这些框架使用 Material。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-09
    • 2020-09-30
    • 1970-01-01
    • 2013-09-17
    • 2021-02-08
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多