描述Bug
在v6.2.0-alpha.28
中,当导入story中组件的模块时,该组件不再是已知元素。
重现
导入承载组件的模块:
export default {
title: 'Components/MyComponent',
component: MyComponent,
decorators: [
moduleMetadata({
imports: [BrowserAnimationsModule, MyModule],
}),
],
} as Meta;
const Template: Story<MyComponent> = (args) => ({
component: MyComponent,
props: args,
});
export const MyState = Template.bind({});
相反,它在以下情况下有效:
- 删除模块导入,但这不是一个选项,因为模块导入了重要的依赖项,如管道、服务等。
- 将组件添加到导出中,但实际上我不希望在应用程序中导出组件
- 降级为
^6.1.18
预期行为
组件应按照6.1.x中的方式创建,而不必将其添加到模块的exports
中
系统
系统:
最低操作系统:macOS 11.2.1
CPU:12个x64英特尔®酷睿™ i7- 9750 H CPU,主频2.60 GHz
二进制文件:
节点:15.6.0 - ~/.nvm/版本/节点/v15.6.0/bin/节点
Yarn:1.22.10 - /usr/本地/bin/Yarn
npm:7.4.0 - ~/.nvm/版本/节点/v15.6.0/bin/npm
浏览器:
铬合金:88.0.4324.150
火狐浏览器:81.0.1
Safari浏览器版本:14.0.3
npm程序包:
@故事书/附加动作:=v6.2.0-alpha.286.2.0-alpha.28版本
@故事书/附加-必需品:=v6.2.0-alpha.286.2.0-alpha.28版本
@故事书/附加链接:=v6.2.0-alpha.286.2.0-alpha.28版本
@故事书/棱角分明:=v6.2.0-alpha.286.2.0-alpha.28版本
7条答案
按热度按时间jrcvhitl1#
组件是否从模块中导出?
sg2wtvxw2#
@yngvebn正如我所描述的,它在导出时工作,但我不想导出它。在6.1.x中,它在不导出时工作。
z9zf31ra3#
是的,你是对的@MickL
这是一个错误的故事书的行为,这违背了Angular 的功能。我认为
您可以使用导出组件的模块
或者在story中通过声明组件、导入、扩展来重新生成模块。
这两个的混合是不一致的。Storybook需要创建一个模块,而Angular禁止在两个不同的模块中声明组件:/
ix0qys7i4#
这件事有什么进展吗?这确实是一个奇怪的问题
cu6pst1q5#
您可以使用导出组件的模块
或者在story中通过声明组件、导入、扩展来重新生成模块。
如果我试图通过声明组件、导入等来重新生成模块,我会得到一个错误,即该组件在两个模块中定义。因此,解决此问题的唯一方法是导出Storybook中所有我想拥有的组件。
gpfsuwkq6#
目前,我看到了解决此问题的任何方法:/
Sb需要一个模块来启动。并且符合组件声明的Angular 约定
0qx6xfy67#
关于此问题有任何更新吗?