angular-cli中配置代理

為什么要做代理配置劲藐?

前端開發(fā)中經(jīng)常會(huì)遇到跨域的問(wèn)題,特別是在開發(fā)環(huán)境碍扔,本地開發(fā)請(qǐng)求后臺(tái)接口瘩燥,因?yàn)榍岸朔?wù)和后臺(tái)服務(wù)不是同一臺(tái)電腦所以會(huì)出現(xiàn)跨域的現(xiàn)象,也就是遵循我們的同源策略不同,即協(xié)議厉膀,域名,端口不一致時(shí)就會(huì)出現(xiàn)跨域的現(xiàn)象二拐, 此時(shí)在我們本地調(diào)試程序久需要驚醒代理配置服鹅,我用的angular框架做開發(fā),所以本文圍繞angular
如下圖百新,我是用express配置了一個(gè)接口

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

router.post('/api/home', function(req, res, next) {
    res.send("登陸成功");
});
router.post('/auth', function(req, res, next) {
  res.send("登陸成功");
});
module.exports = router;

然后在不做任何操作的情況下請(qǐng)求這個(gè)/auth的這個(gè)接口企软,接口的全稱應(yīng)該是192.168.1.109:8888/auth
結(jié)果會(huì)報(bào)錯(cuò),如下圖

image.png

因?yàn)槲襛ngular項(xiàng)目的服務(wù)為http://192.168.1.109:4201/#/home饭望,雖然是同一臺(tái)電腦仗哨,但是端口不一樣也會(huì)存在跨域的問(wèn)題

新建JSON配置文件設(shè)置代理配置

在項(xiàng)目的根目錄新建JSON文件

   {
    "/":{
        "target":"http://192.168.1.109:8888",
        "secure":false,
        "changeOrigin":true
    }
}
  • target: 請(qǐng)求目標(biāo)服務(wù)地址
  • secure:為false時(shí)热凹,允許不是https和安全證書無(wú)效的服務(wù)
  • changeOrigin:為true 柿祈,允許請(qǐng)求跨域
    配置好了,要在pageage.json文件中添加服務(wù)啟動(dòng)時(shí)同時(shí)啟動(dòng)代理文件
image.png

配置好了后,npm start啟動(dòng)項(xiàng)目芜繁,請(qǐng)求成功

image.png

如果想代理多個(gè)路徑怎静,可以換一種方式配置捌蚊,加了個(gè)context參數(shù)

{
    "context":["/auth","/api"],
    "target":"http://192.168.1.109:8888",
    "secure":false,
    "changeOrigin":true
}

此配置可以代理接口地址為“/auth”和“/api”開頭路徑的服務(wù)审姓,以上方法是用json文件配置代理的,還可以用ES6模塊化的方式配置

用ES6模塊化方式配置代理

同樣在項(xiàng)目的根目錄新建一個(gè)proxy.config,js文件旨椒,此文件是js文件
和json文件同樣配置,此時(shí)不在贅述

const target = process.env.api_url || "http://192.168.124.9:8888";
module.exports = {
  // "/": {
  //   target: target,
  //   secure: false,//接受https且證書的后臺(tái)服務(wù)器
  //   changeOrigin: true,
  // },
  context: ['/auth', '/api','/logOut'],//將多個(gè)特定路徑代理到同一目標(biāo)
  target: target,//接受https且證書的后臺(tái)服務(wù)器
  changeOrigin: true,//接口跨域時(shí)晓褪,需要配置,將主機(jī)標(biāo)頭的原點(diǎn)更改為目標(biāo)URL
};

這里插一句综慎,如果要請(qǐng)求不跨域還可以修改接口的請(qǐng)求頭涣仿,例如我express寫的接口,所以我會(huì)在請(qǐng)求前做相應(yīng)的參數(shù)設(shè)置

//設(shè)置允許跨域訪問(wèn)該服務(wù).
app.all('*', function (req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  //Access-Control-Allow-Headers ,可根據(jù)瀏覽器的F12查看,把對(duì)應(yīng)的粘貼在這里就行
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  res.header('Access-Control-Allow-Methods', '*');
  res.header('Content-Type', 'application/json;charset=utf-8');
  next();
});

如果要需要進(jìn)行其他參數(shù)的配置可以參照webpack官方文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寥粹,一起剝皮案震驚了整個(gè)濱河市变过,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涝涤,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岛杀,死亡現(xiàn)場(chǎng)離奇詭異阔拳,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)类嗤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門糊肠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人遗锣,你說(shuō)我怎么就攤上這事货裹。” “怎么了精偿?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵弧圆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我笔咽,道長(zhǎng)搔预,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任叶组,我火速辦了婚禮拯田,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甩十。我一直安慰自己船庇,他們只是感情好吭产,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸭轮,像睡著了一般臣淤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上张弛,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天荒典,我揣著相機(jī)與錄音,去河邊找鬼吞鸭。 笑死寺董,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刻剥。 我是一名探鬼主播遮咖,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼造虏!你這毒婦竟也來(lái)了御吞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤漓藕,失蹤者是張志新(化名)和其女友劉穎陶珠,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體享钞,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡揍诽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了栗竖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片暑脆。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖狐肢,靈堂內(nèi)的尸體忽然破棺而出添吗,到底是詐尸還是另有隱情,我是刑警寧澤份名,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布碟联,位于F島的核電站,受9級(jí)特大地震影響同窘,放射性物質(zhì)發(fā)生泄漏玄帕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一想邦、第九天 我趴在偏房一處隱蔽的房頂上張望裤纹。 院中可真熱鬧,春花似錦、人聲如沸鹰椒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)漆际。三九已至淆珊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奸汇,已是汗流浹背施符。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留擂找,地道東北人戳吝。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像贯涎,于是被迫代替她去往敵國(guó)和親听哭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

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