美文网首页
vue项目中,解决开发与线上 请求接口不同的问题

vue项目中,解决开发与线上 请求接口不同的问题

作者: 华华00526 | 来源:发表于2019-03-11 18:11 被阅读0次

    在Vue开发当中经常会遇到各种各样的接口问题,最近在项目中遇到开发和线上环境接口路径不一样的问题,网上找到很多博客,大多都是千篇一律的复制粘贴,对于新手来说可能比较难以理解,所以我写这篇博客分享给刚使用vue做项目的小萌新同学一个详细的接口配置思路。

    webpack提供了生产环境和线上环境的两种配置文件,平时开发当中使用一个接口,项目上线后就会自动切换成另外一个接口,废话不多说,下面上图。首先是找到vue-cli项目中config文件夹下的dev.env.js,默认是下面的样子:

    然后我们需要添加开发环境中使用的请求后台数据的接口域名,如下图:

    url_api是我自己设置的,可以自定义。后面的路径就是你自己开发环境中的接口。

    接着找到prod.env.js,默认如下图:

    在这个文件中同样添加线上请求接口的配置:

    最后在自己封装的axios中去调用这个接口:

    自定义变量 = process.env.url_api(这个就是刚才在config两个文件中自定义的),拼接url到封装的axios中。最后在生产环境中npm run dev 的时候会自动调用刚才在dev.env.js中定义的接口,当使用npm run build 去打包的时候会自动调用prod.env.js中配置的接口。

    另外:跨域的问题

         可能有些小伙伴在vue中配置了跨域的代理,所以导致拼接url中proxy代理失效,依然出现跨域的问题,解决这个问题我的个人思路是代理配置不变,只需要在dev.env.js中用空字符串替换本地接口。就不会出现开发环境中跨域的问题了。有不明白的可以问我,有更好的方案也希望能不吝赐教,谢谢。

    作者:苏泞

    链接:https://www.jianshu.com/p/6393cf897663

    来源:简书

    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

          本文标题:vue项目中,解决开发与线上 请求接口不同的问题

          本文链接:https://www.haomeiwen.com/subject/mhzbpqtx.html