Svelte.js新手导入Swiper轮播触发rollup-plugin-svelte报错如何解决
Svelte导入Swiper报错修复方案
该报错是Swiper v9及以上版本的常见兼容问题,由Rollup打包工具无法读取swiper包内的package.json文件导致,可通过以下任意一种方法修复:
方案1:适配Swiper新版本(推荐,无需降级)
如果你使用的是SvelteKit或Vite搭建的项目,修改项目根目录的svelte.config.js文件,在kit配置节点下添加vite.ssr.noExternal规则:const config = { kit: { vite: { ssr: { noExternal: ['swiper'] } } } } export default config修改后重启开发服务器即可生效。
方案2:降级Swiper到v8版本
如果你不需要Swiper v9的新特性,直接降级到兼容性更好的v8版本即可,执行以下安装命令:npm install swiper@8原有代码的导入逻辑无需改动,重启服务后即可正常运行。
方案3:原生Rollup项目适配
如果你使用的是原生Rollup搭建的Svelte项目,修改rollup.config.js文件,给node-resolve插件添加导出条件配置:import resolve from '@rollup/plugin-node-resolve' export default { plugins: [ resolve({ exportConditions: ['svelte'], browser: true }) // 其余原有插件保持不变 ] }
内容的提问来源于stack exchange,提问作者H Nazmul Hassan
相关产品推荐
相关产品推荐

