vue-cli中的 proxy 代理配置的方法

vue-cli@2.X中的配置

主要解決的是接口問題和路徑問題



1. 后臺配置了允許跨域時的配置步驟(側(cè)重接口問題處理)

1.1 第一步: 在 /config/dev.env.js中添加如下代碼:

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',

  // 添加下面這行代碼: 表示在開發(fā)環(huán)境下請求的服務器端接口  
  API_ROOT: ' "http://localhost:3000/api" '   
})

1.2 第二步: 在 /config/prod.env.js 中添加如下代碼:

module.exports = {
  NODE_ENV: '"production"',

  // 添加下面這行代碼: 表示在生產(chǎn)環(huán)境下請求的服務器端接口  
  API_ROOT: ' "http://localhost:3000/api" '
}

1.3 第三步: 在發(fā)送axios請求之前,設置請求的基礎URL即可

axios.defaults.baseURL = process.env.API_ROOT;

// 注意: process.env 是一個全局變量廓奕,可以判斷當前的環(huán)境晚胡。



2. 后臺未設置允許跨域請求時(側(cè)重路徑問題處理)

2.1 第一步: 在 /config/index.js中添加如下配置

module.exports = {
  dev: {

    assetsSubDirectory: 'static',
    assetsPublicPath: '/',

    // --------------新添加的代理內(nèi)容-----------------------------
    // 原本proxyTable屬性中對象為空,在此進行proxy代理配置(可以跨域)
    proxyTable: {
      '/api': {
        target: 'http://localhost:3000',   // target表示代理的服務器url
        pathRewrite: {     // pathRewrite表示路徑重寫卷玉,key表示一個正則,value表示別名 
          '^/api': '/api'   // 即用 '/api'表示'http://localhost:3000/api'
        }
      }
    },
    // ---------------------------------------------------------

    host: 'localhost', 
    port: 8080,   // 開啟服務器的端口
    autoOpenBrowser: false,   // 是否開啟在瀏覽器中打開
    errorOverlay: true,
    notifyOnErrors: true,
    poll: false, 
    devtool: 'cheap-module-eval-source-map',
    cacheBusting: true,
    cssSourceMap: true
  },

  build: {
  
    // build時輸出的index.html文件喷市,可以自定義路徑
    index: path.resolve(__dirname, '../dist/index.html'),

    // build時輸出的靜態(tài)(除了index.html)資源路徑
    assetsRoot: path.resolve(__dirname, '../dist'),

    // build時輸出靜態(tài)資源的二級目錄
    assetsSubDirectory: 'static',

    // 代表打包后相种,index.html里面引用資源的的相對地址
    assetsPublicPath: './',

 
    // 是否開啟cssSourceMap
    productionSourceMap: true,
    devtool: '#source-map',

    // 是否開啟gzip
    productionGzip: false,

    // 需要用gzip壓縮的文件擴展名
    productionGzipExtensions: ['js', 'css'],

    bundleAnalyzerReport: process.env.npm_config_report
  }
}

2.2 其余的配置步驟和后臺允許跨域時的步驟相同



vue-cli@3.X中的配置

主要解決的同樣是接口問題和路徑問題



1. 后臺配置了允許跨域時的配置步驟(側(cè)重接口問題處理)

axios.defaults.baseURL = process.evn.NODE_ENV === 'development' ? 'devUrl' : 'propUrl'
/*
    參數(shù)解釋:
        1. devUrl  :  開發(fā)環(huán)境中請求的后臺url
        2. propUrl :  生產(chǎn)環(huán)境中請求的后臺url
*/ 



2. 后臺未設置允許跨域請求時(側(cè)重路徑問題處理)

2.1. 第一步: 接口配置同上

2.2. 第二步: 路徑和axios配置如下:

2.2.1 在與package.json文件的同級目錄下創(chuàng)建 vue.config.js, 內(nèi)容如下:

詳細參考見網(wǎng)址:

module.exports = {
  devServer: {
    publicPath: process.env.NODE_ENV === 'development' ? '/' : './',
    proxy: {
      '/api': {
        target: '<url>',
        pathRewrite: {
            '^/api' : '/api'
        }
      },
      '/foo': {
        target: '<other_url>'
        pathRewrite: {
            '^/foo': '/foo'
        }
      }
    }
  }
}

/*
示例: 遠程服務器未處理跨域,接口為: http://localhost:3000/api/
本地開發(fā)環(huán)境中的url為: http://localhost:8080
1.  proxy: {
2.    '/api5': {
3.        target: 'http://localhost:3000',
4.        pathRewrite: {
5.            '^/api5' : '/api'
6.        }
7.     }
8.   } 
其中
第2行中的 '/api5'是自定義的本地請求時的名字
第3行的target表示代理的服務器url
第4行的pathRewrite表示路徑重寫
第5行的'^/api5'是一個正則表達式品姓,表示要匹配請求的url中寝并,全部'http://localhost:8080/api5' 轉(zhuǎn)接為 http://localhost:3000/api/
*/



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末箫措,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子衬潦,更是在濱河造成了極大的恐慌蒂破,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件别渔,死亡現(xiàn)場離奇詭異附迷,居然都是意外死亡,警方通過查閱死者的電腦和手機哎媚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門喇伯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拨与,你說我怎么就攤上這事稻据。” “怎么了买喧?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵捻悯,是天一觀的道長。 經(jīng)常有香客問我淤毛,道長今缚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任低淡,我火速辦了婚禮姓言,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蔗蹋。我一直安慰自己何荚,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布猪杭。 她就那樣靜靜地躺著餐塘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪皂吮。 梳的紋絲不亂的頭發(fā)上戒傻,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音涮较,去河邊找鬼稠鼻。 笑死,一個胖子當著我的面吹牛狂票,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播熙暴,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼闺属,長吁一口氣:“原來是場噩夢啊……” “哼慌盯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起掂器,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤亚皂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后国瓮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灭必,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年乃摹,在試婚紗的時候發(fā)現(xiàn)自己被綠了禁漓。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡孵睬,死狀恐怖播歼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掰读,我是刑警寧澤秘狞,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站蹈集,受9級特大地震影響烁试,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拢肆,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一廓潜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧善榛,春花似錦辩蛋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至咒循,卻和暖如春据途,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叙甸。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工颖医, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人裆蒸。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓熔萧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子佛致,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容