vue-cli 实现反向代理获取猫眼数据

这里不具体讲反向代理的原理和作用,就是记录一下如何用反向代理获取猫眼数据(因为在项目中,前端直接获取猫眼api数据会被同源策略杀死)

分析猫眼的请求

比如这里,我想获取猫眼在搜索一部电影时,自动返回匹配搜索字段的数据,通过分析,右侧蓝色为请求的部分,其中 search?kw… 开头的字段都是我在测试是否为实时请求数据的响应,可以看到 kw= 为你的输入值,cityId= 为你的城市值
在这里插入图片描述
双击这个请求可以打开具体的链接,这里我是用了 FE 这个插件来便于我们讲 json 数据解析,可以看到搜索栏就是我们要的答案了
在这里插入图片描述

配置 vue.config.js 文件

在 vue 项目中要实现这个跨域,可以利用反向代理,这里要先配置 vue.config.js 文件

module.exports = {
    devServer: {
            proxy: {
            //   /ajax 为你请求的方式,理论上是后端暴露给你的,这里猫眼使用  /ajax 的方式
            '/ajax': {
            // target 为 url 中 /ajax 前面的请求网址的部分
                target: 'https://m.maoyan.com/',
                // 实现反向代理
                changeOrigin: true
            },
            }
        }
}

使用 axios 进行请求

vue 中常使用 axios 进行网络请求,newVal 为我实时搜索的数据,每次在输入框输入不同的值时,newVal 获取到这个值,传到我的请求中,就可以发起网络请求

			this.axios.get(`/ajax/search?kw=${newVal}&cityId=1&stype=-1`).then((res)=>{
				console.log(res);
			})

在这里插入图片描述

要在Vue项目中配置反向代理,首先需要使用Vue CLI进行打包。Vue CLI是一个用于快速搭建Vue项目的工具,它提供了一些默认的配置文件和命令。以下是步骤: 1. 安装Vue CLI:通过npm全局安装Vue CLI的最新版本,命令是 `npm install -g @vue/cli` 2. 创建Vue项目:使用Vue CLI创建一个新的Vue项目,命令是 `vue create project-name`,其中project-name是你想要给项目起的名字。 3. 安装依赖:进入项目目录,运行 `npm install` 安装项目所需的依赖包。 4. 配置反向代理:在项目根目录中找到vue.config.js文件,如果没有就手动创建一个。在vue.config.js文件中添加以下代码: ```javascript module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:3000', // 目标服务器地址 ws: true, changeOrigin: true }, '/foo': { target: 'http://localhost:8080', ws: true, changeOrigin: true } } } } ``` 上述配置的意义是将以`/api`开头的请求代理到`http://localhost:3000`上,将以`/foo`开头的请求代理到`http://localhost:8080`上。你可以根据实际需求调整配置。 5. 重新启动项目:运行`npm run serve`重新启动项目,在开发环境中进行测试,代理请求会被转发到目标服务器。 6. 打包上线:当项目开发完成后,可以通过运行`npm run build`来进行项目打包。打包完成后,将生成的dist目录中的文件部署到服务器上即可实现项目的上线。 以上就是使用Vue CLI配置反向代理的步骤。通过反向代理,我们可以在开发环境中轻松模拟后端接口,便于前端开发与后端接口的对接工作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值