国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳解vue-cli項目開發/生產環境代理實現跨域請求

2024-05-06 15:36:43
字體:
來源:轉載
供稿:網友

開發環境中跨域

使用vue-cli創建的項目,開發地址是localhost:8080,需要訪問非本機上的接口http://192.168.0.112:8080/cms/queryMaterial。不同域名之間的訪問,需要跨域才能正確請求。跨域的方法很多,通常都需要后臺配置,不過vue-cli創建的項目,可以直接利用node.js代理服務器,通過修改vue proxyTable接口實現跨域請求。在vue-cli項目中的config文件夾下的index.js配置文件中,修改前的dev:

dev: {  assetsSubDirectory: 'static', //靜態資源根目錄的子目錄static,也就是dist目錄下面的static  assetsPublicPath: '/', //編譯發布的根目錄,可配置為資源服務器域名或 CDN 域名  proxyTable: {}, //proxyTable 代理的接口(可跨域)  host: 'localhost',   port: 8080, //dev-server的端口號,可以自行更改  autoOpenBrowser: false, //是否自動打開瀏覽器  errorOverlay: true,  notifyOnErrors: true,  poll: false,   useEslint: true,  showEslintErrorsInOverlay: false,  devtool: 'cheap-module-eval-source-map',  cacheBusting: true,  cssSourceMap: true //默認情況下,關閉 CSS Sourcemaps,因為使用相對路徑會報錯 },  

只要修改里面的proxyTable: {}

proxyTable: { '/cms': { //代理地址  target: 'http://192.168.0.112:8080', //需要代理的地址  changeOrigin: true, //是否跨域  secure: false,  pathRewrite: {   '^/cms': '/cms' //本身的接口地址沒有'/cms' 這種通用前綴,所以要rewrite,如果本身有則去掉(/cms等價于 www.xxx.com/cms)  } }},

然后重啟項目npm run dev,請求數據時URL前加上“/cms”就可以跨域請求了

this.$axios.get('/cms/queryMaterial', {params: params})   .then((res) => {   console.log(res); }).catch((err) => {   console.log(err); })

訪問接口若沒有安裝axios,則需要進行安裝

1)安裝:npm install axios --save-dev

2)main.js中導入
 import axios from 'axios'; //引入axios進行地址訪問
 Vue.prototype.$axios = axios;(注意:不使用use來使用該例,而是用prototype原型來使用)

1、參數proxyTable詳解:

vue-cli的config文件里的參數:proxyTable,這個參數主要是一個地址映射表,你可以通過設置將復雜的url簡化,例如我們要請求的地址是www.xxx.com/list/1,可以按照如下設置:

proxyTable: { '/list': {  target: 'http://www.xxx.com',  pathRewrite: {   '^/list': '/list'  } }}

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 永胜县| 承德县| 荔波县| 睢宁县| 来宾市| 临安市| 鹤峰县| 许昌县| 鲁甸县| 高雄市| 泸溪县| 吉隆县| 当雄县| 桐梓县| 大竹县| 沙坪坝区| 凉城县| 建平县| 固安县| 清水河县| 南漳县| 襄汾县| 陇西县| 永新县| 镇原县| 扎赉特旗| 桓台县| 小金县| 开鲁县| 遵化市| 庄河市| 南宫市| 元阳县| 思南县| 普陀区| 鄂温| 远安县| 开远市| 台江县| 浦江县| 桑日县|