Storybook Composition 加载远程 stories 时为啥不显示?

一士娇 阅读 4

我在用 Storybook 的 Composition 功能,想把另一个团队的 UI 组件库(部署在 Vercel 上)集成到我本地的 Storybook 里。按照文档在 .storybook/main.js 里加了 refs 配置,但页面上完全看不到远程的 stories,控制台也没报错。

我试过直接访问那个远程 URL,能正常打开他们的 Storybook,说明部署没问题。本地配置是这样的:

module.exports = {
  refs: {
    'design-system': {
      title: 'Design System',
      url: 'https://our-design-system.vercel.app',
    },
  },
};

是不是漏了什么 CORS 或者构建配置?还是需要对方开启特定的 Composition 支持?

我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
设计师珮青
看起来你在配置 Storybook Composition 时遇到了一些问题。首先,确保你的远程 Storybook 确实支持被其他 Storybook 引用。有时候,为了防止注入,远程 Storybook 可能会有额外的安全措施,比如限制哪些域名可以引用它。

你可以在远程 Storybook 的配置中检查一下是否有设置 allowedCorsOrigins 或类似的选项。你需要将你的本地 Storybook 域名添加到允许的列表中。例如,如果你本地运行的是 http://localhost:6006,那么需要在远程 Storybook 的配置文件中加上这个域名。

另外,检查一下你的网络请求是否有被浏览器的 CSP(Content Security Policy)策略阻止。有时候,严格的 CSP 设置也会导致无法加载远程资源。

最后,确保你的本地 Storybook 和远程 Storybook 版本兼容。版本不匹配也可能导致无法正确加载远程 stories。

如果以上都没有问题,可以尝试在浏览器的开发者工具中查看网络请求,看看是否有任何失败的请求或者被拦截的情况。希望这些信息对你有帮助,祝你好运!
点赞
2026-03-24 23:00