为啥我会收到“尝试导入错误:'EffectCards' 未从 'swiper' 导出”?

Posted

技术标签:

【中文标题】为啥我会收到“尝试导入错误:\'EffectCards\' 未从 \'swiper\' 导出”?【英文标题】:Why do I get "Attempted import error: 'EffectCards' is not exported from 'swiper'"?为什么我会收到“尝试导入错误:'EffectCards' 未从 'swiper' 导出”? 【发布时间】:2021-12-19 12:15:00 【问题描述】:

我正在使用 Create React App 并已按照文档说明的方式导入,因为 Create React App 还不支持纯 ESM 包。

import  EffectCards  from "swiper";
import  Swiper, SwiperSlide  from "swiper/react/swiper-react.js";

但我得到了错误:Attempted import error: 'EffectCards' is not exported from 'swiper'.

EffectFade 工作正常,那么 EffectCards 为什么不呢?它还从哪里导出以使用 Create React App 导入?

【问题讨论】:

你为什么要使用为移动设备制作的包在网络上使用。除此之外,这个包有 131 个未解决的问题,仅由一个人维护,甚至他们自己网站上的东西也被破坏了,比如这个链接 swiperjs.com/demos#effect-cards,用于反应。他们的文档也很差。我不会使用那个包。 我也不确定为什么您(和他们的网站)说 CRA 不支持 ESM,它确实支持,不仅它使用 babel 来转译代码,而且大多数浏览器都支持 ESM。我很确定他们很久没有更新他们的网站了。 【参考方案1】:

官方文档中说:“默认Swiper React使用的是核心版的Swiper(没有任何额外的组件)。如果你想使用Navigation、Pagination等组件,你必须先安装它们。”

要安装它们:

import SwiperCore,  EffectFade, EffectCards  from "swiper";
SwiperCore.use([EffectFade, EffectCards]);

【讨论】:

执行此操作时我仍然遇到相同的错误。 EffectFade 无需安装即可使用,但 EffectCards 无论是否安装都无法使用。我使用的是 Reactjs 而不是 Native。 尝试导入 Swiper 而不是 SwiperCore 这不起作用,因为它已经从swiper/react/swiper-react.js 导入为 Swiper。我确实尝试过,但它会引发错误。仅导入 import EffectCards from "swiper"; 也不起作用。这是一个谜! 你能举一个可重现的例子吗? @Archivec 的方法在官方文档的这个例子中有效:codesandbox.io/s/3pgoz?file=/src/App.jsx

以上是关于为啥我会收到“尝试导入错误:'EffectCards' 未从 'swiper' 导出”?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我会收到此错误

为啥我会收到这个 TypeError?

为啥我会收到序列化错误?

为啥我会收到错误消息?

知道为啥我会收到此错误吗?

为啥我会收到这种错误验证错误?