VUE前端項目配置代理解決跨域問題


VUE前端項目配置代理解決跨域問題

問題如下,經常在本地調試接口出現這種問題

問題描述

解決方式1:Chrome 的擴展插件

  • 以前使用Chrome 的擴展插件,但是有時候還是會出現莫名其妙的問題。
  • 需要梯子才行 Allow CORS: Access-Control-Allow-Origin

解決方式2:服務端配置跨域訪問

  • 也可以在服務端配置解決這個問題,這個要找后台協商。
  • 很多開源的第三方庫都做了處理,你在哪里調用都不會出現跨域問題。

解決方式3:前端項目配置本地代理

  • 經過測試,這種方式通用性很強,不需要知道服務器有沒有配置跨域,瀏覽器有沒有裝插件,都可以訪問外部接口。
    1. Vue項目中 config/index.js
module.exports = {
    dev: {
        // Paths
        assetsSubDirectory: 'static',
        assetsPublicPath: '/',
        proxyTable: {
            '/api': {
                target: 'https://1.2.3.4:89', // 接口地址
                changeOrigin: true, // 是否跨域
                pathRewrite: { 、// 轉發
                    '^/api': ''
                },
                secure: false 
            },
        }
}
    1. src/api/index.js 中如下配置 baseURL
const debug = process.env.NODE_ENV !== 'production'
const axInstance = axios.create({
    baseURL: debug ? 'api' : 'http://1.3.4.5.6:89',
    timeout: 10000,
    responseType: 'json',
    withCredentials: false, // 表示跨域請求時是否需要使用憑證
    headers: {
        token: store.state.axios.token,
        'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
    }
})
  • 配置完畢后,運行項目,訪問接口 http://0.0.0.0:8080/api/getinfo 就會被轉發到 https://1.2.3.4:89/getinfo


免責聲明!

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



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