vue 项目配置反向代理导致项目白屏

问题:vue 项目配置反向代理导致项目白屏

一、现象描述

添加反向代理代码后,前端运行白屏

复制代码
// 设置baseURL,8888是后端端口号,前端请求默认发送到baseURL的地址
var axios = require('axios')
axios.defaults.baseURL = 'http://localhost:8888/api'
// 全局注册,之后可在其他组件中通过 this.$axios 发送数据
Vue.prototype.$axios = axios

二、问题分析

通过F12查看控制台

复制代码
Uncaught TypeError: Cannot set properties of undefined (setting 'baseURL')

Uncaught TypeError: Cannot read properties of undefined 是一个 JavaScript 运行时错误,它表示试图访问一个未定义(undefined)对象的属性。访问对象是一个不存在的变量或者对象的属性。

复制代码
axios.defaults.baseURL = 'http://localhost:8888/api'

出问题的是这句话,注释掉就能显示。

代码解释(熟悉的同学可略过此节)

axios.defaults.baseURL = 'http://localhost:8888/api' 是一行JavaScript代码,通常用于配置Axios库的默认基础URL。

  1. axios: Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。它允许你发出GET、POST等HTTP请求。

  2. defaults: 这是Axios对象的一个属性,用于设置Axios的默认配置。

  3. baseURL : 这是Axios默认配置中的一个属性,用于设置请求的基础URL。这意味着当你使用axios发起请求时,如果请求的URL以baseURL开始,那么你不需要重复写baseURL

  4. 'http://localhost:8888/api': 这是你设置的基础URL。这意味着当你使用axios发起请求时,除非你明确指定了不同的URL,否则都会基于这个URL。例如,如果你发起一个GET请求,而请求的URL是'/users',那么实际发送的请求URL会是'http://localhost:8888/api/users'

设置基础URL的主要目的是为了简化代码和提高可读性。例如,如果你有一个API端点是'/users',那么你可以这样发起请求:

复制代码
axios.get('/users')  
  .then(response => {  
    console.log(response.data);  
  })  
  .catch(error => {  
    console.error(error);  
  });

而不是这样:

复制代码
axios.get('http://localhost:8888/api/users')  
  .then(response => {  
    console.log(response.data);  
  })  
  .catch(error => {  
    console.error(error);  
  });

通过设置基础URL,你可以避免在每个请求中重复写相同的URL前缀。

三、解决方案

1.检查变量是否定义

2.使用默认参数

3.使用链式表达

博主的项目实际解决方法是通过

复制代码
import axios from 'axios'

代替

复制代码
// var axios = require('axios')

根本原因分析,先挖个坑。

相关推荐
十五喵源码网2 天前
基于springboot2+vue2的疾病防控综合系统
java·毕业设计·springboot·论文笔记
玉&心3 天前
GraalVM 21 Native Image 编译踩坑全记录:从 class 初始化冲突到成功构建
ai·springboot·graalvm·rag
jay神3 天前
【计算机毕业设计】基于Spring Boot的宠物领养管理系统
java·spring boot·后端·vue·毕业设计·宠物
十五喵源码网3 天前
基于SpringBoot2+vue2的健身房管理系统
java·毕业设计·springboot·论文笔记
要开心吖ZSH3 天前
腾讯 IM 前端对接小白教程:医患一对一聊天(含自定义报告卡片)
vue·健康医疗·即时通讯·im
深念Y3 天前
07-SSR水合问题实战排查与修复记录
前端·vue·vite·nuxt·ssr·csr·水合
深念Y3 天前
NativeScript 移动端开发踩坑记录
前端·ui·vue·安卓·移动端·native·原生
記億揺晃着的那天4 天前
从 0 到 2,000+ 次提交:ERP 四年的架构演进
架构·springboot·erp
avi91114 天前
【】js不同颜色(Vue 框架)今时今日2026年学编程入门(10月1日)
前端·vue.js·vue·vue框架·前端入门·vue入门·html上传
QQ_21696290964 天前
【源码编号:project93375】SpringBoot汽车维修管理信息系统:客户车辆、维修预约、工单派发、配件结算全流程实战
java·spring boot·后端·汽车·springboot·需求分析