Storybook 6 错误:ngrx no provider for Store 错误 - 如何修复? [关闭]

Posted

技术标签:

【中文标题】Storybook 6 错误:ngrx no provider for Store 错误 - 如何修复? [关闭]【英文标题】:Storybook 6 error: ngrx no provider for Store error - how to fix? [closed] 【发布时间】:2021-03-09 14:51:41 【问题描述】:

使用 ng serve / nx serve 时,我的 Angular10 应用程序运行良好。 NGRX 商店和功能商店按预期工作。

但是,当我尝试从项目中的任何 Lib 运行 Storybook 时,我会遇到错误。 为什么是这样?我该如何解决?到目前为止我还没有找到解决方案。

这是错误的一部分:

StaticInjectorError(Platform: core)[InjectionToken @ngrx/store Check if Action types are unique -> InjectionToken @ngrx/store Internal Runtime Checks]: 
    NullInjectorError: No provider for InjectionToken @ngrx/store Internal Runtime Checks!

有人知道解决办法吗?谢谢。

【问题讨论】:

确保在你的模块中导入 StoreModule。 @TitusSutioFanpula 是的,你是对的!问题是我需要导入 Store 和 Effects 模块 - 即使故事的功能使用 ngrx 商店。我没有意识到这是必需的。 【参考方案1】:

@TitusSutioFanpula 为我解决了这个问题。 问题是我需要导入 Ngrx Store & Effects 模块,即使故事中运行的实际功能没有使用 Ngrx。

所以为了让它正常运行,我需要像这样导入它们:

export default 
  title: 'LayoutComponent',
  decorators: [
    withKnobs,
    moduleMetadata(
      imports: [
        LayoutModule,
        StoreModule.forRoot(),
        EffectsModule.forRoot([]),
        HttpClientModule
      ]
    )
  ]
;

有没有人有关于 Angular Storybook 开发的任何好的指南/资源? (希望 Angular Storybook 有更好的文档,这应该可以加快我的开发过程,但我发现它比以往任何时候都更耗时)

【讨论】:

以上是关于Storybook 6 错误:ngrx no provider for Store 错误 - 如何修复? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Webpack 5 和 Storybook 6 集成在 DefinePlugin.js 中引发错误

Storybook jest 插件不显示结果

找不到与 @storybook/react-native@^5.0.6 匹配的版本

找不到@ storybook / react-native @ ^ 5.0.6的匹配版本

Vuetify Storybook remapInternalIcon 问题

安装@ngrx/store 时如何清除错误?