Vue項目前后端聯調(使用proxyTable實現跨域)


vue本地項目調試線上接口出現跨域問題

使用方法:vue在配置文件中提供了proxyTable來設置跨域,在config文件夾的index.js文件中

dev: {  //開發環境下

    // 靜態資源文件夾
    assetsSubDirectory: 'static',

    // 發布路徑
    assetsPublicPath: '/',

    // 代理配置表,在這里可以配置特定的請求代理到對應的API接口
    // 例如將'localhost:8080/api/xxx'代理到'http://xxxxxxx.com/xxx'
    proxyTable: {
      '/api': {
        target: 'http://xxxxxx.com', // 接口的域名
        // secure: false,  // 如果是https接口,需要配置這個參數
        changeOrigin: true, // 如果接口跨域,需要進行這個參數配置
        pathRewrite: {
          '^/api': '', // 這種接口配置出來 http://xxxxxx.com:8080/xxx
        }
      }
    }
}

關於pathRewrite中'^/api'的作用:

用代理, 首先你得有一個標識, 告訴他你這個連接要用代理. 不然的話, 可能你的 html, css, js這些靜態資源都跑去代理. 所以我們只要接口用代理, 靜態文件用本地。

'/api': {}, 就是告訴node, 我接口只要是'/api'開頭的才用代理.所以你的接口就要這么寫 /api/xx/xx. 最后代理的路徑就是 http://xxxxxx.com/api/xx/xx.

可是不對啊, 我正確的接口路徑里面沒有/api啊. 所以就需要 pathRewrite,用''^/api'':'', 把'/api'去掉, 這樣既能有正確標識, 又能在請求接口的時候去掉api

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM