为何import语句查找'.\src\components\Form\Components'且提示Form.js不存在?
Cannot find file: 'Form.js' does not match the corresponding name on disk: '.\src\components\Form\Components'.
你提供的项目结构与App.js截图如下:
报错产生原因
- 大小写不匹配:Windows、macOS默认文件系统大小写不敏感,但前端项目常用的Webpack、Vite等构建工具对路径大小写严格校验。如果导入语句里的路径/文件名大小写和磁盘实际存储的大小写不一致,就会触发该报错,比如你导入路径写了
Components(大写C开头),但实际磁盘里的文件夹是components(小写c开头)。 - 相对路径书写错误:导入语句声明的Form.js存储路径和实际路径不匹配,比如你在导入时多写了不存在的
Components层级,Form.js实际直接存放在src/components/Form/目录下,没有嵌套Components子文件夹。 - 文件/文件夹命名不符:Form.js实际文件名存在拼写差异,或是文件实际后缀为
.jsx,导入时误写为.js。
排查解决步骤
- 核对导入语句的完整拼写:打开App.js找到导入Form的代码行,逐字符和磁盘实际文件结构比对,包含大小写、路径层级。
示例错误写法:import Form from './components/Form/Components/Form.js'
若Form.js直接存放在src/components/Form/下,正确写法为:import Form from './components/Form/Form.js' - 统一所有路径大小写:文件夹、文件名、导入语句的大小写完全保持一致,比如所有通用组件文件夹统一用小写
components,导入时不要写成大写Components。 - 核对文件后缀:如果Form文件实际使用
.jsx后缀,要么导入时补全正确后缀,要么确认构建工具配置了自动识别.jsx后缀的规则。 - 清理构建缓存:修改路径/命名后如果仍然报错,删除
node_modules/.cache文件夹,重启本地开发服务即可。
内容的提问来源于stack exchange,提问作者Kyle Lahr
相关产品推荐
相关产品推荐

