前端VUE项目-day1

1、跨域

列子:1、我在同一台电脑上启动vue项目,地址http://localhost:1025/,后端启动flask项目,地址:http://localhost:5000,端口不一样,所以全端发起请求的时候受到同源策略的限制

直接在地址栏输入URL是浏览器发起的简单请求,不受同源策略限制。而通过JavaScript发起的XMLHttpRequest或Fetch API请求则会受到同源策略的限制

同源判定:协议(http/https)、域名(或IP)和端口三者完全相同才视为同源,只要有其中一个不同即跨域

解决:1、后端处理

2、前端处理,在vue.config.js中

html 复制代码
module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://127.0.0.1:5000',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

然后前端:

复制代码
axios.get('/api/home/getWebInfo')

这样写,当前端直接发起请求的时候会自动带上地址,实际请求为http://localhost:1025/api/home/getWebInfo,由于前端配置文件配置过代理,所以,包含/api部分被替换成target里面的内容,实际最终发出去的请求为http://localhost:5000/home/getWebInfo

2、vue2中使用el-image组件,为什么设置src="/src/assets/image/sara_home_bg.webp"加载不出图片,确定的是图片路径没问题

1. Webpack 静态资源处理问题

Vue CLI 项目使用 Webpack 打包,/src/assets/ 中的资源会被 Webpack 处理。直接使用绝对路径 /src/... 是无效的,因为:

  • 开发阶段:文件路径可能被 Webpack 的 dev-server 代理。

  • 生产阶段:文件会被打包到 dist/ 目录,路径会变化。

使用

html 复制代码
<el-image :src="require('@/assets/image/sara_home_bg.webp')"></el-image>

2. 路径别名问题

Vue CLI 默认配置了 @ 作为 /src 的别名,建议使用别名确保路径正确:

html 复制代码
<el-image :src="require('@/assets/image/sara_home_bg.webp')"></el-image>

3. 图片未放入 public/ 目录

如果图片是纯静态资源(不经过 Webpack 处理),可以将其放在 public/ 目录,然后直接引用:

html 复制代码
<el-image src="/image/sara_home_bg.webp"></el-image>
  • 需要将图片文件放到 public/image/sara_home_bg.webp
相关推荐
油丶酸萝卜别吃25 分钟前
前端转全栈学习路线
前端·学习
浮生望40 分钟前
前端路由进阶:History API原理与手写HistoryRouter
前端
陆枫Larry1 小时前
JavaScript 中的竞态是什么,为啥会有竟态?
前端
上海安当技术3 小时前
半天接入:USBKey RESTful API + C 动态库,Web 和 C/S 两套集成路径实战
前端·后端·restful·集成·usbkey
DevUI团队4 小时前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
weixin_431600444 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
avi91115 小时前
[AI教做人]AI平台做2项目;一个3D模型展示,另一个框架多人
javascript·人工智能·ai·3d模型·3d引擎·顶点和法线
kyriewen5 小时前
我用Claude Code两天干完了团队两周的排期——周报发出去那一刻我就后悔了
前端·javascript·ai编程
IT_陈寒5 小时前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端
用户938515635076 小时前
Type vs Interface:读完这篇就没有面试官能难倒你了
前端·面试·typescript