在做springboot整合vue的**前后端分离项目**时遇到此问题
axios.js?be3b:59 uncaught typeerror: cannot read property ‘use’ of undefined at eval (axios.js?be3b:59) at module…/src/plugins/axios.js (app.js:1160) at webpack_require (app.js:849) at fn (app.js:151) at eval (main.js:10) at module…/src/main.js (app.js:1148) at webpack_require (app.js:849) at fn (app.js:151) at object.1 (app.js:1173) at webpack_require (app.js:849)
根本原因 是引入的axios库是使用vue2.0开发的一套组件库,而我们当前的项目为vue3,所有存在兼容性的问题。
所以一个简单的办法就是,吧项目改成vue2版本的在来一次,但是这不是长久之计。因为之后肯定是vue3的时代
/*****************************************/
接下来上干货
- 在项目中找到plugins/axios.js文件将里面的倒数第二行代码注释掉
2.在main.js中添加如下代码,并且不要动原来main.js中的代码
import axios from 'axios'
import VueAxios from 'vue-axios'
createApp(App).use(VueAxios,axios)
- 这个时候,确实不报刚刚的ues问题了,但是会报vue-axios没安装,安装上基本就吧问题解决了
Module not found: Error: Can't resolve 'vue-axios' in 'D:\Code\Coded_Vue\vue_qianduan_projects\vue_book\src'
4. 停掉服务,安装vue-axios(如果安装成功直接跳到第7步)
npm install --save vue-axios
-
如果安装失败,出现以下错误,那我们继续下一步,直接去package.json里改版本
-
直接将axios版本调成最新的
-
在需要使用axios的xxx.vue文件中引入axios即可
-
接下来就是跨域问题了
可以参考跨域问题解决方案