You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

应用页面组件导出错误求助:Cannot read properties of undefined

问题描述

启动项目后,开发者工具控制台出现如下错误:

Uncaught TypeError: Cannot read properties of undefined (reading 'default')
    at Module.AddLesson (groupName.tsx:49:1)
    at ./src/pages/changes/components/changeElement/changeElement.tsx (changeElement.tsx:16:1)
    at options.factory (react refresh:6:1)
    at __webpack_require__ (bootstrap:24:1)
    at fn (hot module replacement:62:1)
    at ./src/pages/changes/components/index.ts (groupName.tsx:49:1)
    at options.factory (react refresh:6:1)
    at __webpack_require__ (bootstrap:24:1)
    at fn (hot module replacement:62:1)
    at ./src/pages/changes/changesMain.tsx (methods.ts:24:1)

开发者工具中的代码

使用craco配置路径别名,配置内容如下:

const path = require('path')
module.exports = {
    webpack: {
        alias: {
            '@components': path.resolve(__dirname, 'src/components'),
            '@atoms': path.resolve(__dirname, 'src/atoms'),
            '@hooks': path.resolve(__dirname, 'src/hooks'),
            '@interfaces': path.resolve(__dirname, 'src/interfaces'),
            '@pages': path.resolve(__dirname, 'src/pages'),
            '@queries': path.resolve(__dirname, 'src/queries'),
            '@': path.resolve(__dirname, 'src'),
        },
    },
}

控制台提示“No issues found.”,需排查该错误原因。

排查方向

1. 模块导入导出不匹配

这个错误的核心是尝试读取未定义对象的default属性,大概率是导入导出方式不匹配:

  • 检查groupName.tsx第49行的AddLesson导出:如果是命名导出(export const AddLesson = ...),那changeElement.tsx里不能用import AddLesson from 'xxx',得改成import { AddLesson } from 'xxx';如果是默认导出(export default AddLesson),则要确认导入路径是否正确。
  • 核对changeElement.tsx第16行的导入路径,检查别名使用是否错误,比如把@pages/xxx写成@components/xxx这类问题。

2. 路径别名未同步TS配置(若使用TypeScript)

仅在craco里配置webpack别名还不够,TypeScript的tsconfig.json需要同步路径映射,否则编辑器不报错但打包时会出现解析问题:
在tsconfig.json的compilerOptions中添加:

"baseUrl": "./src",
"paths": {
  "@components/*": ["components/*"],
  "@atoms/*": ["atoms/*"],
  "@hooks/*": ["hooks/*"],
  "@interfaces/*": ["interfaces/*"],
  "@pages/*": ["pages/*"],
  "@queries/*": ["queries/*"],
  "@/*": ["*"]
}

3. 缓存或热重载异常

webpack热缓存可能导致模块解析出错,试试这些操作:

  • 删除node_modules/.cache文件夹
  • 删除build文件夹后重新执行npm start
  • 打开开发者工具,勾选Disable cache后刷新页面

4. 模块文件本身存在异常

检查groupName.tsx第49行附近的代码,确认AddLesson的导出逻辑是否正常,比如是否有语法错误、导出语句前是否有未捕获的报错导致模块加载失败。

内容的提问来源于stack exchange,提问作者645 546

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 12:30:44