vue中的代理转换机制proxyTable配置项

随着互联网技术的发展,现在很多互联网公司分工越来越明确了。后端开发人员只负责后端开发及接口的提供,前端人员负责按照设计图出页面及套页面,这个时候就出现了一种新的开发模式。即前后端分离模式。前端框架更新及普及更加推动了前后端分离开发。这种模式缩短了项目开发周期。但是,有时候会会出现比较尴尬的情况。比如再使用VUE写项目的时候,就会遇到。

打开凤凰新闻,查看更多高清图片

在写vue项目的时候,后台没有及时提供数据,我们前台会在本地模拟一些数据进行开发测试,在axios请求这些假数据的时候,我们需要添加一个请求路径,按道理来说我们写上本地数据路径即可,但是在项目上线的时候就得修改这些本地路径,这样很容易出现漏改,所以,vue给出了一个代理转换机制。

首先,在static文件夹下新建一个mock文件夹用于存放假数据index.json文件:

其次,在 .gitignore 文件,添加static/mock ,目的以后在提交代码的时候既不会提交到本地git仓库中也不会提交到线上git仓库中;

再次,在你的组件中写好axios请求事件: 

methods:{

  getHomeInfo (){

   axios.get(/api/index.json)

     .then(this.getHomeInfoSuccess)

 },

  getHomeInfoSuccess(res){

   console.log(res)

 }

},

mounted(){

  this.getHomeInfo()

}

 然后,找到 config -- index.js -- proxyTable: { }配置项:

vue中的代理功能(其实是 webpack-dev-server提供的此方法),使用转发机制,能将 api/index.json 请求路径转发到 static/mock/index.json 文件下

proxyTable: {

 /api:{

  target::8080,

  pathRewrite:{

   ^/api:/static/mock

  }

 }

},

最后,可以输入localhost:8080/static/mock/index.json访问到你的假数据(因为上面提到了,static文件夹里的文件从外部是可以访问到的);你也可以启动项目将数据打印到控制台查看;