制作模板网站,网站建设图片教程,网站设计的指导思想,邗江建设局网站问题#xff1a;vue 项目配置反向代理导致项目白屏
一、现象描述
添加反向代理代码后#xff0c;前端运行白屏
// 设置baseURL#xff0c;8888是后端端口号#xff0c;前端请求默认发送到baseURL的地址
var axios require(axios)
axios.defaults.baseURL http://local…问题vue 项目配置反向代理导致项目白屏
一、现象描述
添加反向代理代码后前端运行白屏
// 设置baseURL8888是后端端口号前端请求默认发送到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。 axios: Axios 是一个基于 Promise 的 HTTP 客户端用于浏览器和 Node.js。它允许你发出GET、POST等HTTP请求。 defaults: 这是Axios对象的一个属性用于设置Axios的默认配置。 baseURL: 这是Axios默认配置中的一个属性用于设置请求的基础URL。这意味着当你使用axios发起请求时如果请求的URL以baseURL开始那么你不需要重复写baseURL。 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)
根本原因分析先挖个坑。