superman66 / vue2.x-douban

Vue2.0实现简易豆瓣电影webApp
http://superman66.github.io/vue2.x-douban/dist/#/
798 stars 292 forks source link

请问一下生产环境dist下文件的跨域问题。 #16

Closed yaozhixing closed 6 years ago

yaozhixing commented 6 years ago

在开发模式下,/config/index.js 设置 proxyTable 设置代理转发是完全没问题的, proxyTable: { '/api': { target: 'http://api.douban.com/v2', changeOrigin: true, pathRewrite: { '^/api': '' } } }, 但是,因为本人没有用vuex2,就用原生的vue,所以就没有封装你的/store/api 下的axios 函数,所以请求的host 也就没有判断是不是正式服和开发模式的方向代理。请问直接在axios.post 或者 axios.get 该怎么判断是否是正式和开发环境 分别 指定 host 的api地址问题,或者怎么封装这个axios 问题,请大神指点。 已经困恼我好久了

superman66 commented 6 years ago

是的。开发环境与生产环境api应该是不一样的。 而且跨域这个问题是可以通过后端设置 CORS 来解决的。 我在开发模式下,之所以用 proxyTable 是因为豆瓣提供的 api 不支持跨域。如果是你自己的 api 服务的话,直接设置 CORS 就可以了,这样请求接口就不会有跨域问题了。 建议你先去了解下跨域问题及对应的解决方案。