React项目部署Firebase执行npm run build时出现Module not found错误
解决React构建时"Relative imports outside of src/ are not supported"错误
核心原因
你导入的firebaseConfig.js文件路径超出了React项目默认允许的src/目录范围,React Create App默认限制仅能从src/内部或node_modules/导入文件。
解决方案
方案1:将firebaseConfig.js移到src/目录内(推荐)
这是最简单且符合React项目规范的做法:
- 找到你的
firebaseConfig.js文件(当前在src/外),将其剪切到项目的src/文件夹中 - 打开所有导入该文件的组件/页面,修正导入路径:
- 假设文件现在路径是
src/firebaseConfig.js - 如果在
src/App.js中导入,修改为:import firebase from './firebaseConfig.js' - 如果在
src/components/Header.js中导入,修改为:import firebase from '../firebaseConfig.js'
- 假设文件现在路径是
- 重新执行
npm run build即可
方案2:通过符号链接绕过限制(不推荐,适合特殊场景)
如果你不想移动文件,可以在node_modules/中创建指向该文件的符号链接:
- 打开终端,确保处于项目根目录(
solve文件夹内) - 执行命令创建符号链接:
# Windows系统 mklink node_modules\firebaseConfig.js D:\errors\solve\firebaseConfig.js # macOS/Linux系统 ln -s ../firebaseConfig.js node_modules/firebaseConfig.js - 之后在代码中可以直接通过包名导入:
import firebase from 'firebaseConfig.js'
额外检查
确认你的导入语句没有使用错误的相对路径(比如多写了../导致跳出src/目录),比如如果文件已经在src/内,却写成import '../../src/firebaseConfig.js'也会触发该错误。
内容的提问来源于stack exchange,提问作者Manvitha Vemulapalli
相关产品推荐
相关产品推荐

