Sivo 悉见

vue项目使用elementui上传组件 打包后报错t.upload.addEventListener is not a function的解决方案

匿名 · 更新于 2024/5/30

今天和大家分享一个报错的解决方案

 

背景

项目打包部署到宝塔上后,打开网页,上传东西时出现了一个报错,但是在本地开发环境是没有问题的。

报错内容:

这个问题是因为mockjs改动了axios里面XMLHttpRequest对象从而导致报错。

解决方案:

方案一:

查找文件node_modules/mockjs/dist/mock.js

找到后打开文件大约在8312行的位置添加以下代码

MockXMLHttpRequest.prototype.upload = xhr.upload;

这一步就是给MockXMLHttpRequest对象添加一个原生xhr.upload方法。

 

 方案二:

同时在node_modules/mockjs/src/xhr/xhr.js 文件的第216行和node_modules/mockjs/dist/mock.js文件的大约8312行处添加以下代码

MockXMLHttpRequest.prototype.upload = xhr.upload;

给MockXMLHttpRequest对象添加一个原生xhr.upload方法。

方案三:

卸载mockjs,并删除相关代码

npm uninstall mockjs 

vue.config.js

 注释这段代码
src/main.js

注释这段代码

以上就是 t.upload.addEventListener is not a function的三种解决方案,感谢您的观看,希望我的这篇文章能够帮助到您。