最近在vue-element-admin项目中,使用七牛云上传报错
o.upload.addEventListener is not a function
在本地的开发环境是可以正常上传的,但是编译生产环境上传到线上,上传就报了这么一个错
在网上寻找的方法
解决方法一:
在 node_modules/mockjs/dist/mock.js 第8308行 和 node_modules/mockjs/src/xhr/xhr.js 第216行
添加代码: MockXMLHttpRequest.prototype.upload = xhr.upload;
这样是可以解决,不过这不是根本方法,我们的项目上测试和线上是自动打包上传的,所以不会把这两句代码打包进去,所以用了第二种方法
解决方法二:
原因是vue-cli中的mockjs模块把XMLHttpRequest覆盖拦截了,会导致对象属性访问不到
所以把mokejs相关的引用删除就可以了
1、npm uninstall mockjs 删除该模块依赖(其实不删除也没关系)
2、vue.config.js,注释掉mockjs的引用
3、main.js,注释mockjs的引用
本帖已被设为精华帖!