如何调试服务器错误‘Named export not found’——React与Framer Motion问题
问题分析与解决方案
这个错误确实是Framer Motion与你的React版本不兼容导致的:
useId是React 18新增的内置Hook,而你当前项目使用的React版本低于18,Framer Motion的新版本(如v10+)会直接引入这个Hook,从而触发导出错误。
具体修复步骤
方案1:升级React到18.x版本
执行对应包管理工具的命令更新React:
# npm npm install react@latest react-dom@latest # yarn yarn add react@latest react-dom@latest # pnpm pnpm add react@latest react-dom@latest
方案2:降级Framer Motion到兼容React 17的版本
如果暂时不想升级React,可以安装Framer Motion v9.x版本(该版本不依赖React 18的API):
# npm npm install framer-motion@9 # yarn yarn add framer-motion@9 # pnpm pnpm add framer-motion@9
后续验证
- 删除项目根目录下的
node_modules文件夹和锁文件(package-lock.json/yarn.lock/pnpm-lock.yaml) - 重新执行依赖安装命令(
npm install/yarn/pnpm install) - 重启开发服务器测试
注:你之前使用
--legacy-peer-deps无效,是因为该参数仅用于忽略peer依赖的版本冲突提示,但无法解决Framer Motion需要React 18专属API的本质问题。
内容的提问来源于stack exchange,提问作者Burger Sasha
相关产品推荐
相关产品推荐

