Material UI导入SendIcon报错:找不到导出项问题求助
解决Material UI SendIcon导入错误(type: module环境)
你遇到的问题核心是两点:
- @mui/icons-material下的图标组件都是默认导出,而非命名导出
- 即使package.json设置了
"type": "module",也不需要手动给Material UI的导入路径加.js后缀
错误重现
你的导入代码:
import { SendIcon } from "@mui/icons-material/Send.js";
报错信息:
export 'SendIcon' (imported as 'SendIcon') was not found in '@mui/icons-material/Send.js' (possible exports: __esModule, default)
解决方案
直接改用默认导入,并且去掉.js后缀:
import SendIcon from "@mui/icons-material/Send";
原因说明
- Material UI的图标组件每个都是单独的模块,以默认导出的方式对外暴露组件,所以不能用解构语法
{ SendIcon }导入。 - 虽然你的项目启用了ES模块(
type: module),但@mui/icons-material包的内部已经通过package.json的exports字段配置了正确的模块解析路径,不需要手动添加.js后缀——加后缀后会直接定位到单个文件,而该文件仅导出default,没有命名导出的SendIcon,因此报错。
内容的提问来源于stack exchange,提问作者code_learner93
相关产品推荐
相关产品推荐

