React+Redux项目报错:未找到'./app/store'的'store'导出项
报错根因
属于ES模块导入导出规则不匹配问题:
store.js中使用*默认导出(export default)*方式对外暴露Redux store实例index.js中却使用*具名导入(import { store })*语法引入,打包工具找不到对应名称的导出项,直接抛出编译错误。
修复方式(两种选一种即可,不要混着改)
方案1:改index.js的导入逻辑,适配现有默认导出
直接把index.js里的store导入语句替换成默认导入写法,其余代码不动:
// 删除原有错误导入 // import { store } from './app/store'; // 替换为默认导入 import store from './app/store';
保存文件后等待重新编译,错误就会消失。
方案2:改store.js的导出逻辑,适配现有具名导入
如果想保持index.js的导入写法不变,就把store.js的默认导出改成具名导出:
import { configureStore } from '@reduxjs/toolkit'; import userReducer from '../features/userSlice'; // 直接具名导出store实例 export const store = configureStore({ reducer: { user: userReducer, }, }); // 删掉原来的export default configureStore(...)那段代码
保存重编译即可。
后续排查注意点
如果修改后还是报同类错误,逐一检查:
- 确认
store.js的文件路径、文件名拼写完全正确,不要出现层级写错、store写成stroe这类低级错误 - 清掉构建缓存重启服务:React项目可以直接删除
node_modules/.cache目录,再重新执行启动命令(npm start/pnpm start/yarn start)
内容的提问来源于stack exchange,提问作者Milan Kumar Bura
相关产品推荐
相关产品推荐

