久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

Vue-cli proxyTable 解決開發(fā)環(huán)境的跨域問題怎么解決

來源:技術員聯(lián)盟┆發(fā)布時間:2017-10-05 18:05┆點擊:

  和后端聯(lián)調時總是會面對惱人的跨域問題,最近基于Vue開發(fā)項目時也遇到了這個問題,兩邊各自想了一堆辦法,查了一堆資料,加了一堆參數(shù),最后還得我把自己的localhost映射成上線時將要使用的域名。

  今天翻看代碼時,突然發(fā)現(xiàn)vue-cli的config文件里有一個參數(shù)叫proxyTable,看這個名字就感覺能解決問題,于是我就去搜了一下,果然。在vuejs-templates,也就是vue-cli的使用的模板插件里,有關于API proxy的說明,使用的就是這個參數(shù)。

  https://vuejs-templates.github.io/webpack/proxy.html

  這個參數(shù)主要是一個地址映射表,你可以通過設置將復雜的url簡化,例如我們要請求的地址是api.xxxxxxxx.com/list/1,可以按照如下設置:

  proxyTable: {

  '/list': {

  target: 'http://api.xxxxxxxx.com',

  pathRewrite: {

  '^/list': '/list'

  }

  }

  }

  這樣我們在寫url的時候,只用寫成/list/1就可以代表api.xxxxxxxx.com/list/1.

  那么又是如何解決跨域問題的呢?其實在上面的'list'的參數(shù)里有一個changeOrigin參數(shù),接收一個布爾值,如果設置為true,那么本地會虛擬一個服務端接收你的請求并代你發(fā)送該請求,這樣就不會有跨域問題了,當然這只適用于開發(fā)環(huán)境。增加的代碼如下所示:

  proxyTable: {

  '/list': {

  target: 'http://api.xxxxxxxx.com',

  changeOrigin: true,

  pathRewrite: {

  '^/list': '/list'

  }

  }

  }

  vue-cli的這個設置來自于其使用的插件http-proxy-middleware

  github:https://github.com/chimurai/http-proxy-middleware

  深入了解的話可以看該插件配置說明,似乎還支持websocket,很強大的插件。