详解vue-cli 接口代理配置

网友投稿 198 2024-02-03


详解vue-cli 接口代理配置

本文讲解"详解vue-cli 接口代理配置",用于解决相关问题。

本文介绍了vue-cli 接口代理配置,分享给大家,具体如下:

一些同学在配置接口代理时,会有疑问 我配置成功了为什么接口还是不通 ,其实代理已经成功 只是 接口访问地址规则没搞清楚

下面以本地测试为栗子 向大家介绍

一些基本操作这里就不介绍了

找到vue-cli config 文件夹下的 index.js  这是是配置接口规则的文件 同目录下建立 proxyConfig.js  一些同学习惯直接在原文件修改 ,也是可以但推荐使用新建文件的方式:

module.exports = {proxyList: { /api: { target: http://localhost:3000, (这里是代理接口的位置) changeOrigin: true,(允许跨域,如果这不写,调用接口接口时会有跨域错误说缺少请求头) pathRewrite: {^/api: } (路由规则下面详细介绍) }} }

******路由规则*******

上述代码执行之后,意思就是 只要在接口中看到‘/api‘ 会自动变成我们设置的地址,那么我们在设置的时候可以规范接口书写标准 就用到了这个属性 pathRewrite 路径重写{^/api: } 是指你想让路由变成什么样子 ,如果是空 那么在解析时 如果我们的接口写的是 $http.get(/api/good) 那么在服务端我们将会看到 /good的访问,如果此时在服务端并没有相应的路由匹配,客服端就会显示报错,端口号还是客户端的端口号,所以很多同学就错觉没有起作用 ,同理如果我们设置{^/api: /api } 那么在服务端将会看到/api/goods 的接口访问,意思就是不仅将/api自动解析成代理地址,还会作为服务端的路由展示。

另外在设置路由规则注意分隔符/  有些同学喜欢这样写 target: http://localhost:3000/, 自己写端口后面加上一个分隔符,会发现路由对不上,这时你需要在命名的时候也要加上‘/ 路由规则也要加上‘/ 接口才能对,不然 会发现请求接口的时候多了一个分隔符 如:/api//goods。

设置完之后,在index.js 里面 引入 proxyConfig.js,设置 proxyTable 完成设置

const proxyConfig = require(./proxyConfig) module.exports = {dev: { env: require(./dev.env), host: localhost, port: 8188, autoOpenBrowser: true, assetsSubDirectory: static, assetsPublicPath: /, proxyTable: proxyConfig.proxyList, cssSourceMap: false,}}

请求时 这样写

复制代码 代码如下:axios.get(/api/goods).then((res)=>{console.log(res.data);}}).catch((err)=>{console.log(err);}})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

Vue 编程技术

本文讲解"vue项目中的webpack-dev-sever配置方法",用于解决相关问题。问题描述:在vue项目中运行npm run dev启动服务器,然而在同一个局域网下的外部设备不 ...


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何入门php版交通银行网银支付接口开发
下一篇:cha fan的接口是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~