<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        詳解Webpack-dev-server的proxy用法

        來源:懂視網 責編:小采 時間:2020-11-27 22:08:13
        文檔

        詳解Webpack-dev-server的proxy用法

        詳解Webpack-dev-server的proxy用法:前言 如果你有單獨的后端開發服務器 API,并且希望在同域名下發送 API 請求 ,那么代理某些 URL 會很有用。 解決開發環境的跨域問題(不用在去配置nginx和host, 爽歪歪~~) 在webpack.config.js中配置 下面簡單介紹一下五個經常使用的場景 使用一:
        推薦度:
        導讀詳解Webpack-dev-server的proxy用法:前言 如果你有單獨的后端開發服務器 API,并且希望在同域名下發送 API 請求 ,那么代理某些 URL 會很有用。 解決開發環境的跨域問題(不用在去配置nginx和host, 爽歪歪~~) 在webpack.config.js中配置 下面簡單介紹一下五個經常使用的場景 使用一:

        前言

        如果你有單獨的后端開發服務器 API,并且希望在同域名下發送 API 請求 ,那么代理某些 URL 會很有用。

        解決開發環境的跨域問題(不用在去配置nginx和host, 爽歪歪~~)

        在webpack.config.js中配置

        下面簡單介紹一下五個經常使用的場景

        使用一:

        mmodule.exports = {
         //...
         devServer: {
         proxy: {
         '/api': 'http://localhost:3000'
         }
         }
        };
        

        請求到 /api/xxx 現在會被代理到請求 http://localhost:3000/api/xxx, 例如 /api/user 現在會被代理到請求 http://localhost:3000/api/user

        使用二

        如果你想要代碼多個路徑代理到同一個target下, 你可以使用由一個或多個「具有 context 屬性的對象」構成的數組:

        module.exports = {
         //...
         devServer: {
         proxy: [{
         context: ['/auth', '/api'],
         target: 'http://localhost:3000',
         }]
         }
        };
        

        使用三:

        如果你不想始終傳遞 /api ,則需要重寫路徑:

        module.exports = {
         //...
         devServer: {
         proxy: {
         '/api': {
         target: 'http://localhost:3000',
         pathRewrite: {'^/api' : ''}
         }
         }
         }
        };
        

        請求到 /api/xxx 現在會被代理到請求 http://localhost:3000/xxx, 例如 /api/user 現在會被代理到請求 http://localhost:3000/user

        使用四:

        默認情況下,不接受運行在 HTTPS 上,且使用了無效證書的后端服務器。如果你想要接受,只要設置 secure: false 就行。修改配置如下:

        module.exports = {
         //...
         devServer: {
         proxy: {
         '/api': {
         target: 'https://other-server.example.com',
         secure: false
         }
         }
         }
        };
        

        使用五:

        有時你不想代理所有的請求??梢曰谝粋€函數的返回值繞過代理。

        在函數中你可以訪問請求體、響應體和代理選項。必須返回 false 或路徑,來跳過代理請求。

        例如:對于瀏覽器請求,你想要提供一個 HTML 頁面,但是對于 API 請求則保持代理。你可以這樣做:

        module.exports = {
         //...
         devServer: {
         proxy: {
         '/api': {
         target: 'http://localhost:3000',
         bypass: function(req, res, proxyOptions) {
         if (req.headers.accept.indexOf('html') !== -1) {
         console.log('Skipping proxy for browser request.');
         return '/index.html';
         }
         }
         }
         }
         } 
        };
        

        解決跨域原理

        上面的參數列表中有一個changeOrigin參數, 是一個布爾值, 設置為true, 本地就會虛擬一個服務器接收你的請求并代你發送該請求,

        module.exports = {
         //...
         devServer: {
         proxy: {
         '/api': {
         target: 'http://localhost:3000',
         changeOrigin: true,
         }
         }
         }
        };
        

        vue-cli中proxyTable配置接口地址代理示例

        修改 config/index.js

        module.exports = {
         dev: {
         // 靜態資源文件夾
         assetsSubDirectory: 'static',
         // 發布路徑
         assetsPublicPath: '/',
        
         // 代理配置表,在這里可以配置特定的請求代理到對應的API接口
         // 使用方法:https://vuejs-templates.github.io/webpack/proxy.html
         proxyTable: {
         // 例如將'localhost:8080/api/xxx'代理到'https://wangyaxing.cn/api/xxx'
         '/api': {
         target: 'https://wangyaxing.cn', // 接口的域名
         secure: false, // 如果是https接口,需要配置這個參數
         changeOrigin: true, // 如果接口跨域,需要進行這個參數配置
         },
         // 例如將'localhost:8080/img/xxx'代理到'https://cdn.wangyaxing.cn/xxx'
         '/img': {
         target: 'https://cdn.wangyaxing.cn', // 接口的域名
         secure: false, // 如果是https接口,需要配置這個參數
         changeOrigin: true, // 如果接口跨域,需要進行這個參數配置
         pathRewrite: {'^/img': ''} // pathRewrite 來重寫地址,將前綴 '/api' 轉為 '/'。
         }
         },
         // Various Dev Server settings
         host: 'localhost', // can be overwritten by process.env.HOST
         port: 4200, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
        }

        更多參數

        dev-server 使用了非常強大的http-proxy-middleware , http-proxy-middleware 基于 http-proxy 實現的,可以查看 http-proxy 的源碼和文檔:https://github.com/nodejitsu/node-http-proxy。

      1. target:要使用url模塊解析的url字符串
      2. forward:要使用url模塊解析的url字符串
      3. agent:要傳遞給http(s).request的對象(請參閱Node的https代理和http代理對象)
      4. ssl:要傳遞給https.createServer()的對象
      5. ws:true / false,是否代理websockets
      6. xfwd:true / false,添加x-forward標頭
      7. secure:true / false,是否驗證SSL Certs
      8. toProxy:true / false,傳遞絕對URL作為路徑(對代理代理很有用)
      9. prependPath:true / false,默認值:true - 指定是否要將目標的路徑添加到代理路徑
      10. ignorePath:true / false,默認值:false - 指定是否要忽略傳入請求的代理路徑(注意:如果需要,您必須附加/手動)。
      11. localAddress:要為傳出連接綁定的本地接口字符串
      12. changeOrigin:true / false,默認值:false - 將主機標頭的原點更改為目標URL
      13. 參考

        官方文檔
        http-proxy-middleware
        node-http-proxy
        API Proxying During Development

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        詳解Webpack-dev-server的proxy用法

        詳解Webpack-dev-server的proxy用法:前言 如果你有單獨的后端開發服務器 API,并且希望在同域名下發送 API 請求 ,那么代理某些 URL 會很有用。 解決開發環境的跨域問題(不用在去配置nginx和host, 爽歪歪~~) 在webpack.config.js中配置 下面簡單介紹一下五個經常使用的場景 使用一:
        推薦度:
        標簽: 使用 pro pr
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲AV日韩AV永久无码绿巨人 | 国产一卡2卡3卡4卡无卡免费视频| 成人亚洲性情网站WWW在线观看| 亚洲国产欧美一区二区三区| 午夜两性色视频免费网站| 国产精品久久亚洲不卡动漫| 114一级毛片免费| 亚洲人成欧美中文字幕| 啦啦啦www免费视频| 大桥未久亚洲无av码在线 | 成人免费无码大片A毛片抽搐| 亚洲AV成人影视在线观看| 在线观看免费毛片| 日韩在线视精品在亚洲| 亚洲国产精品13p| 久久99免费视频| 亚洲伊人色一综合网| 成年女人视频网站免费m| 国产产在线精品亚洲AAVV| 亚洲精品线路一在线观看| a毛片免费播放全部完整| 亚洲精品视频专区| 精品少妇人妻AV免费久久洗澡| 少妇亚洲免费精品| 亚洲国产精品一区二区成人片国内| 免费无码中文字幕A级毛片| 久久久久se色偷偷亚洲精品av | 天天看免费高清影视| 一级毛片a免费播放王色电影| 亚洲一级特黄大片无码毛片| 99精品热线在线观看免费视频| 亚洲天堂2017无码中文| 成人亚洲性情网站WWW在线观看| 91九色老熟女免费资源站| 麻豆亚洲AV成人无码久久精品 | 亚洲视频免费在线播放| 免费看无码自慰一区二区| 精品免费久久久久国产一区 | 朝桐光亚洲专区在线中文字幕| 亚洲国产精品一区第二页| 毛片免费在线观看网址|