webpack+axios項目中跨域問題的解決

在項目config/index.js文件中,增長proxyTable配置,使用代理方式實現跨域請求,修改以下:css

dev: {
      env: require('./dev.env'),
      port: 8080,
      autoOpenBrowser: true,
      assetsSubDirectory: 'static',
      assetsPublicPath: '/',
      proxyTable: {},
    // CSS Sourcemaps off by default because relative paths are "buggy"
    // with this option, according to the CSS-Loader README
    // (https://github.com/webpack/css-loader#sourcemaps)
    // In our experience, they generally work as expected,
    // just be aware of this issue when enabling this option.
      cssSourceMap: false,


      proxyTable: { // 在這裏配置以下代碼
   '/api': {
                target:'http://192.168.1.108:8081', // 你請求的第三方接口
                changeOrigin:true, // 在本地會建立一個虛擬服務端,而後發送請求的數據,並同時接收請求的數據,這樣服務端和服務端進行數據的交互就不會有跨域問題
                pathRewrite:{  // 路徑重寫,
          '^/api': '/'  
            }
        } 
    }
  }

在代碼中調用以下:webpack

axios.get(`/api/user/getUser.do`, { params: params });

看起來訪問的地址是:http://localhost:8080/api/user/getUser.do
實際訪問地址則爲:http://192.168.1.108:8081/user/getUser.doios

相關文章
相關標籤/搜索