描述bug
我们使用 screener-storybook 来运行针对我们的故事书故事的视觉测试。它使用 require('@storybook/react').getStorybook 来接入 storybook。从两天前开始,对这个 API 的调用开始持续失败。我们没有更改与 storybook 相关的内容,而且我可以在项目之外重现这个问题,而不使用 screener-storybook
,所以我认为这与我们的配置或该库无关。同时,这个问题也出现在多个独立的仓库中。
重现
我尝试使用 npx sb@next repro
重现问题,但是遇到了生成器的问题,所以我在这里重现: https://stackblitz.com/edit/github-kza2ty?file=.storybook/preview.js
- 打开链接
- 打开控制台
- 等待 storybook 启动
- 注意控制台中的错误。
我在默认的故事书设置中添加的唯一内容是调用 require('@storybook/react').getStorybook()
。
系统
Environment Info:
System:
OS: macOS 12.6
CPU: (10) x64 Apple M1 Pro
Binaries:
Node: 14.19.3 - ~/.nvm/versions/node/v14.19.3/bin/node
Yarn: 1.22.19 - ~/.nvm/versions/node/v14.19.3/bin/yarn
npm: 6.14.17 - ~/.nvm/versions/node/v14.19.3/bin/npm
Browsers:
Chrome: 105.0.5195.125
Safari: 16.0
npmPackages:
@storybook/addon-a11y: ~6.5.12 => 6.5.12
@storybook/addon-actions: ~6.5.12 => 6.5.12
@storybook/addon-docs: ~6.5.12 => 6.5.12
@storybook/addon-essentials: ~6.5.12 => 6.5.12
@storybook/addon-interactions: ^6.5.12 => 6.5.12
@storybook/addon-links: ~6.5.12 => 6.5.12
@storybook/addon-storysource: ~6.5.12 => 6.5.12
@storybook/addons: ~6.5.12 => 6.5.12
@storybook/builder-webpack5: ^6.5.12 => 6.5.12
@storybook/components: ~6.5.12 => 6.5.12
@storybook/jest: ^0.0.10 => 0.0.10
@storybook/manager-webpack5: ^6.5.12 => 6.5.12
@storybook/react: ^6.5.12 => 6.5.12
@storybook/source-loader: ~6.5.12 => 6.5.12
@storybook/testing-library: ^0.0.13 => 0.0.13
@storybook/theming: ~6.5.12 => 6.5.12
附加上下文
我尝试将 storybook 版本降级到 6.4,甚至升级到最新的 7.0-alpha.34(在 v7 中,stories
现在被称为 entries
)但仍然看到错误,所以似乎与 storybook 的版本无关。
错误
bootstrap:27 Uncaught TypeError: Cannot read properties of undefined (reading 'stories')
at ClientApi.getStorybook (ClientApi.js:371:1)
at ./.storybook/preview.js (preview.js:108:1)
at __webpack_require__ (bootstrap:24:1)
at fn (hot module replacement:62:1)
at ./.storybook/preview.js-generated-config-entry.js (preview.js:112:1)
at __webpack_require__ (bootstrap:24:1)
at __webpack_exec__ (generated-stories-entry.cjs:6:1)
at generated-stories-entry.cjs:6:1
at __webpack_require__.O (chunk loade
4条答案
按热度按时间clj7thdc1#
➗ 我也在我的仓库里遇到了这个问题。请帮忙解决!
xdnvmnnf2#
感谢提供的优秀复制品,我们能够证明我们的新筛选器故事书钩子对于storyStoreV7也适用于您的神秘边缘案例。我们已经完成了端到端的视觉测试结果,并期待尽快推出alpha版本以获取反馈。
这是我们迈向正确支持screener-storybook的第一步,我们将确保还有以下路径可供选择:
getStorybook
功能5anewei63#
更新:筛选器故事书的beta版本不再使用这种方法,请注意在README中提到的"无钩子"评论,包括静态构建,在这种情况下,您希望删除对
preview.js
的任何手动添加。isr3a4wc4#
Screener Storybook 1.0现已发布,且自此版本起不再存在
require('@storybook/react').getStorybook
。请根据我们的旧说明,手动从您的构建中删除任何可能已添加的
__screener_storybook__
遗留钩子。