事发前
刚利用 vue ui 新建了一个 vue 的项目,然后用到 axios,去官网(链接走起:https://github.com/axios/axios)安装了 axios 插件。
问题出现
然后在后面的开发中,脑子一热安装了vue-axios:
sudo vue add axios
出现标题的报错:Cannot set property $axios of # which has only a getter
问题解决
经过了解,使用了:
npm install axios
官网安装的方法之后,已经把 axios 挂载在 vue 上了,如果你再安装 vue-axios 的话,app.vue 里面就会多了两行:
import axios from 'axios'
Vue.prototype.$axios = axios
大胆推测他们两个代码冲突了,所以把上面两行代码删掉,问题就解决了。
总结
如果使用了官网的方法安装 axios 插件的话,就完全没必要再安装 vue-axios 了,直接 import axios from ‘axios’ 就能用到 axios 的方法了。