[webpack]深刻理解proxy代理

一、一個基本的代理javascript

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

/api/users將請求代理到的請求http://localhost:3000/api/usersjava

 

二、重寫路徑代理webpack

若是不想/api傳遞,須要重寫路徑:web

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

/api/users將請求代理到的請求http://localhost:3000/users後端

 

三、支持httpsapi

默認狀況下,是不接受在HTTPS上運行且具備無效證書的後端服務器。若是須要,能夠像這樣修改配置:數組

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

 

四、將請求代理到同一目標服務器

若是要將多個特定路徑代理到同一目標,則能夠使用具備context屬性的一個或多個對象的數組url

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

  

 

參考:https://webpack.js.org/configuration/dev-server/#devserverproxyspa

相關文章
相關標籤/搜索