vue项目启动main.js配置问题

求帮忙分析一下,非常感谢,手动创建一个vue2项目,前面都没有遇到问题,同时我还配置了一下前后端联动的设置
main.js中

img


config的index.js中

img

就到运行的时候,出现了eslint报错,我就手动去config里的index配置里关掉了eslint,然后运行没问题了,
然后启动之后发现前段页面是空白的,打开F12,出现了一个这个错误

img

然后我就在csdn中找办法,最后发现是main.js里baseURL这个东西失效了,然后我就发现defaults这个位置有个提示,如下

img

我就把defaults改成了default,页面就正常可以运行,由于我不清楚default和defaults啥区别,而且csdn上也没有这类知识,我就试着做登录,登录报错,提示$axios.post不是函数,如下:

img


不知道怎么解决了,求指点

axios.defaults是全局设置。
通常的写法如下:

  1. 在util文件夹下创建一个request.js,在里面通过import的方式引入axios,创建一个axios实例,对实例设置baseUrl、请求、响应拦截器等等
  2. 在main.js中引入request.js文件即可
  3. 在请求接口的方法中使用axios实例进行请求
import request from "util/request.js"

export function getList() {
    return request.get("/xxx")
}

配置代理,baseURL设置“/api”即可,在浏览器Network中可以看到请求的接口都是 “localhost:3000/api/xxx”,会代理到8000端口

defaults 改成 default 试试呢? axios.default.xxx

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    很抱歉,作为AI语言模型,我无法展示代码,但我可以提供一些解决该问题的思路。

    首先,如果你手动关闭了eslint报错,可能会导致一些代码问题被忽略,所以建议不要关闭eslint。可以通过查看eslint报错信息来修复代码问题。

    关于main.js中的问题,可以检查以下几个方面: 1. 检查是否引入了axios和vue-axios插件以及是否正确的使用了baseURL,如下:

    import axios from 'axios'
    import VueAxios from 'vue-axios'
    
    Vue.use(VueAxios, axios)
    
    axios.defaults.baseURL = 'http://localhost:xxxx' // 将xxxx替换为你的后端接口端口号
    
    1. 如果你将defaults改成default,可能会导致axios配置失效,建议改回defaults。

    接下来关于$axios.post不是函数,可能是因为未正确引入axios,并将其挂载在Vue的原型上。可以在main.js中添加以下代码:

    import axios from 'axios'
    
    Vue.prototype.$axios = axios
    

    然后在组件中使用时,可以这样调用:

    this.$axios.post(url, data).then(res => {
      // 处理成功逻辑
    }).catch(err => {
      // 处理失败逻辑
    })
    

    另外建议检查后端接口是否正确、网络是否通畅等。如果以上思路都不能解决问题,可以尝试搜索相关问题的解决方案或求助于其他开发者。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^