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

  • Post author:
  • Post category: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:'http://localhost:8080',
    pathRewrite:{
      '^/api':'/static/mock'
    }
  }
},

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



版权声明:本文为weixin_42157001原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。