Laravel项目使用app.js时出现Cannot read properties of undefined错误求助
解决Laravel中app.js报错"Cannot read properties of undefined (reading 'prototype')"
从错误栈来看,问题根源是axios引入了Node.js环境专用的follow-redirects模块,该模块依赖Node原生的http/https对象,浏览器环境中不存在这些对象,因此触发报错。以下是针对性解决方法:
1. 修正axios的引入方式
打开resources/js/bootstrap.js,检查axios的引入代码:
- 如果是类似
import axios from 'axios/dist/node/axios.cjs'的写法,直接改为:
import axios from 'axios';
- 确保没有手动引入Node版本的axios包,浏览器环境下使用默认的axios入口即可。
2. 清理并重新安装依赖
依赖缓存或不完整可能导致模块引用混乱,执行以下命令:
# 删除node_modules和锁文件 rm -rf node_modules package-lock.json yarn.lock # 重新安装依赖 npm install # 重新编译前端资源 npm run dev
3. 调整Laravel Mix配置(可选)
如果上述方法无效,可能是webpack解析模块时的问题,在webpack.mix.js中添加别名,强制axios使用浏览器版本:
mix.webpackConfig({ resolve: { alias: { 'axios': 'axios/dist/axios.min.js' } } });
添加后重新执行npm run dev编译资源。
4. 检查axios版本兼容性
部分axios新版本可能存在浏览器端适配问题,可尝试降级到稳定版本:
npm install axios@1.6.0
选择1.x版本(而非2.x),兼容性更好,适合Laravel项目。
内容的提问来源于stack exchange,提问作者lucent
相关产品推荐
相关产品推荐

