You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Storybook启动报错module not found无法解析swiper/css问题求助

Storybook无法识别swiper/css模块的解决方案

根因

Storybook默认使用独立的构建配置,不会自动继承Next.js项目的模块解析规则。你遇到的报错是因为Swiper v8+使用package.json的exports字段声明CSS入口,而Storybook的默认解析规则没有适配该导出方式,导致无法定位到对应的CSS文件。

解决步骤

  • 优先升级Storybook到7.x及以上版本,7.x版本默认适配了exports字段解析规则,大部分情况下可以直接兼容该导入写法。
  • 如果你使用Storybook 6.x且暂时无法升级,在.storybook/main.js中添加如下webpackFinal配置:
module.exports = {
  // 保留你现有的其他配置项
  webpackFinal: async (config) => {
    config.resolve = {
      ...config.resolve,
      // 优先从项目根目录的node_modules查找依赖
      modules: [...config.resolve.modules, `${process.cwd()}/node_modules`],
      // 增加.css后缀的自动识别
      extensions: [...config.resolve.extensions, '.css'],
      // 关闭完全指定路径要求,兼容exports字段导出逻辑
      fullySpecified: false,
    }
    return config
  }
}
  • 如果你已经接入了@storybook/nextjs框架适配包,直接在framework配置中加入swiper的转译配置即可:
module.exports = {
  framework: {
    name: '@storybook/nextjs',
    options: {
      nextConfig: {
        transpilePackages: ['swiper'],
      },
    },
  },
  // 保留你现有的其他配置项
}
  • 临时兼容方案:如果上述配置都无法生效,可以直接修改导入语句为Swiper CSS的物理文件路径,不需要解析exports字段即可识别:
    将import 'swiper/css'替换为import 'swiper/swiper.min.css'

内容的提问来源于stack exchange,提问作者Scott Freeman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:15:03