中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

webpack配置proxyTable時pathRewrite無效怎么辦

發布時間:2021-06-29 15:06:35 來源:億速云 閱讀:231 作者:小新 欄目:web開發

這篇文章主要介紹了webpack配置proxyTable時pathRewrite無效怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

webpack配置接口地址代理

在項目開發中,接口聯調的時候一般都是同域名下,且不存在跨域的情況下進行接口聯調,但是當我們在本地啟動服務器后,比如本地開發服務下是 http://localhost:8080 這樣的訪問鏈接,但是我們的接口地址是  http://www.xxx.com/save/post 這樣的,我們這樣直接使用就會存在跨域的請求,導致接口請求不成功。

配置:

我們打開下面路徑的文件

config/index.js

在其中的 dev 對象里面找到: proxyTable: {}

這里就是配置代理的地方,我們進行如下設置:

module.exports = {
 // ...
 dev: {
  // 代理配置表,在這里可以配置特定的請求代理到對應的API接口
  proxyTable: {
   '/api': {
    target: 'http://www.xxx.com', // 你接口的域名
    secure: false,   // 如果是https接口,需要配置這個參數為true
    changeOrigin: true,   // 如果接口跨域,需要進行這個參數配置為true
  
   }
  },
 }
}

接口地址原本是 /save/post ,但是為了匹配代理地址,在前面加一個  /api , 因此接口地址需要寫成這樣的即可生效  /api/save/post 。

即:前端本地啟動接口為:http://localhost:8080/api/save/post,轉發的代理接口為:http://www.xxx.com/api/save/post,其中的/api為匹配項。

/api 是本地路徑和后端接口路徑的匹配前綴,若后端接口給了/api這個前綴,可用上面的寫法。

若后端前綴不統一,則可繼續添加,寫法如下:

module.exports = {
 // ...
 dev: {
  // 代理配置表,在這里可以配置特定的請求代理到對應的API接口
  proxyTable: {
   '/api': {
    target: 'http://www.xxx.com', // 你接口的域名
    secure: false,   // 如果是https接口,需要配置這個參數為true
    changeOrigin: true,   // 如果接口跨域,需要進行這個參數配置為true
  
   },
   '/api': {
    target: 'http://www.xxx.com', // 你接口的域名
    secure: false,   // 如果是https接口,需要配置這個參數為true
    changeOrigin: true,   // 如果接口跨域,需要進行這個參數配置為true
  
   }
  },
 }
}

那么還有一種情況,是后端的接口沒有我們想要的匹配項(前綴)'/api',是直接的http://www.xxx.com/save/post,這樣的接口,我們就要用到pathRewrite來重寫地址,將本地路徑上的帶匹配前綴的路徑:http://localhost:8080/api/save/post上的前綴'/api'轉成 ‘ / '。以下第一種是網絡上大部分推薦的,但是我親測是無效的,估計他們多數用的上面的方法,沒有實際使用下面的方法,LZ用以下第一種方法折騰了2天無果,后去看了webpack-dev-server的issue,無意義試通了接口,即下面第二種方法,當然也不排除第一種方法是我的版本問題而沒有效果,所以如果大家試了第一種方法有效就當我的方法沒說,如果無效,不妨試試我的第二種方法:

第一種方法(網上寫的方法)

module.exports = {
 // ...
 dev: {
  // 代理配置表,在這里可以配置特定的請求代理到對應的API接口
  proxyTable: {
   '/api': {
    target: 'http://www.xxx.com', // 你接口的域名
    secure: false,   // 如果是https接口,需要配置這個參數為true
    changeOrigin: true,   // 如果接口跨域,需要進行這個參數配置為true
    pathRewrite: {
     '^/api': '/'
    }
   }
  },
 }
}

第二種方法(親測有效的方法)

module.exports = {
 // ...
 dev: {
  // 代理配置表,在這里可以配置特定的請求代理到對應的API接口
  proxyTable: {
   '/api/*':{
    target: "http://XXX.XXX.com",
    changeOrigin: true,
    pathRewrite: {'/api':'/'}
   }
  },
 }
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“webpack配置proxyTable時pathRewrite無效怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遂宁市| 鹿泉市| 汾阳市| 方城县| 滨海县| 东辽县| 山东| 青岛市| 和静县| 冷水江市| 武清区| 丰都县| 赞皇县| 沈丘县| 福鼎市| 黄冈市| 巫山县| 宝坻区| 元江| 延寿县| 南漳县| 通江县| 正宁县| 阿尔山市| 阿拉善右旗| 都江堰市| 葵青区| 嵩明县| 曲松县| 华坪县| 江阴市| 辽阳县| 老河口市| 盱眙县| 安宁市| 龙门县| 孝义市| 汝南县| 五家渠市| 靖安县| 阜新|