在写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 版权协议,转载请附上原文出处链接和本声明。