Angular 配置api代理 proxy 实践
创始人
2024-06-01 17:51:09
0

话不多说,直奔主题

$方式一

  • 第一步,在根目录或/src 下新建一个 proxy.conf.json 文件

    备注:这里不用纠结文件名称即xxx.xxx.json,只要使用时能找到,且正确配置文件内容格式即可

    {"/dev-list": {"target": "https://a.examples.com/dev",	// 代理地址"secure": true,	// 接口是否开启 https"changeOrigin": true	// 支持跨域},"/dev-info": {"target": "https://a.examples.com/dev","secure": true,"changeOrigin": true},"/test-list": {"target": "http://b.examples.com/test","secure": false,"changeOrigin": true,"logLevel": "debug"	// 代理日志},"/test-info": {"target": "http://b.examples.com/test","secure": false,"changeOrigin": true,"logLevel": "debug"}
    }
    
  • 第二步,在 angular.json 文件中找到 architect 下的 serve ,并在 serve 内的 options 选项内配置 proxyConfig,没有就依次创建对应选项参数,事例如下:

    ...
    {"architect": {..."serve": {..."options": {...// 当前配置文件所做目录,相对于`angular.json`文件的位置,具体以实际配置位置为准"proxyConfig": "src/proxy.conf.json"	}}}
    }
    ...
    
  • 第三步,重启项目,验证成果

    说明:这里的 npm run start 实际指向的也是 ng serve 启动方式,故不用配置 --proxy-config

    npm run start 
    ===OR===
    ng serve
    

$方式二

  • 第一步,在根目录或/src 下新建一个 proxy.conf.js 文件

    备注:这里不用纠结文件名称即xxx.xxx.js,只要使用时能找到,且正确配置文件内容格式即可

    const PROXY_CONFIG = [{context: ["/dev-list","/dev-info"],"target": "https://a.examples.com/dev","secure": true,"changeOrigin": true},{context: ["/test-list","/test-info"],"target": "http://b.examples.com/test","secure": false,"changeOrigin": true,"logLevel": "debug"}
    ]module.exports = PROXY_CONFIG
    
  • 第二步,在 angular.json 文件中找到 architect 下的 serve ,并在 serve 内的 options 选项内配置 proxyConfig,没有就依次创建对应选项参数,事例如下:

    ...
    {"architect": {..."serve": {..."options": {...// 当前配置文件所做目录,相对于`angular.json`文件的位置,具体以实际配置位置为准"proxyConfig": "src/proxy.conf.js"	}}}
    }
    ...
    
  • 第三步,重启项目,验证成果

    说明:这里的 npm run start 实际指向的也是 ng serve 启动方式,故不用配置 --proxy-config

    npm run start 
    ===OR===
    ng serve
    

总结

相对来讲,两种方式都可实现,具体差别也不大,但若是需要配置多个面向 target 的代理地址,且同时需要多个匹配规则时,推荐使用 方式二 proxy.conf.js 的方式

衍生阅读

  • 代理到后端服务器

相关内容

热门资讯

美版三星s8省电技巧-美版三星... 大家好,我是你们的手机电量小能手,今天来聊聊咱们的美版三星S8怎么省电,让它的电量像小强一样坚强,不...
安卓系统是什么意思-安卓系统:... 嘿,大家好!今天我要聊聊那个在咱们手机里默默工作的小家伙——安卓系统。你们知道吗?每次我打开手机,看...
分区后d盘不见了-电脑硬盘分区... 哎哟喂,今天真是倒霉透顶了!我就想着给电脑来个大扫除,顺手就给硬盘分了个区。谁知道,一觉醒来,我的D...
shopnc模板下载-Shop... 嘿,亲爱的网站搭建小伙伴们!今天我要带你们进入一个全新的世界——ShopNC模板下载的世界!这不仅仅...
linux命令在线模拟器-超级... 嘿,亲爱的代码爱好者们,今天我要给你们带来一个超级酷炫的玩意儿——Linux命令在线模拟器!想象一下...
帝国cms下载模板-帝国 CM... 哎呀,说到这个帝国CMS下载模板,真是让我心情复杂啊!你知道吗,每当我想要给我的网站换个新装,我就开...
身份证住宿登记查询攻略:如何避... 哎呀呀,说起这个身份证住宿登记查询,真是让人头疼啊!每次出门在外,最怕的就是找不到身份证,或者忘记登...
android手机文件传输-告... 嘿,大家好!今天咱们聊聊Android手机文件传输那些事儿。你知道吗?每次我想把手机里的照片、视频或...
w8重装系统-电脑卡顿不用怕,... 哎呀,说到这个重装系统,我简直要泪流满面了!你知道吗,我的电脑最近简直就像个老态龙钟的老头,动不动就...
银行监控报警系统培训:保安的超... 哎呀,说到这个银行监控报警系统培训,我可是满脸兴奋啊!你知道吗,这不仅仅是一堆冷冰冰的机器和程序,这...
互盾安卓恢复大师手机版下载-手... 哎呀,天哪,我的手机里那些珍贵的照片、视频和信息,竟然一夜之间全都不见了!这可怎么办啊?我的心都快碎...
qt 实现qq-用 Qt 打造... 嘿,各位编程爱好者们,今天我要给大家讲一个关于Qt和QQ的故事,这可不是普通的编程故事,这是我在代码...
linux 设备驱动-Linu... 哎呀,说起这Linux设备驱动啊,真是让我又爱又恨!爱它什么呢?爱它那股子开放和自由的劲儿,就像是一...
tabbar icon 下载-... 嘿,亲爱的屏幕控们!今天咱们不聊那些枯燥的技术参数,不谈那些让人头疼的编程代码,咱们就来聊聊那些能让...
怀孕以后老是感冒咳嗽怎么办?-... 哎呀,说到怀孕后老是感冒咳嗽,我这心里就急得像热锅上的蚂蚁!明明是喜事一桩,怎么就老是被这些小病小痛...
河南身份证号码大全集泄露问题令... 哎呀,说到这个“河南身份证号码大全集”,真是让人又爱又恨啊!你知道吗,这东西在网上流传得像风一样快,...
展讯sc9832处理器-展讯 ... 哎呀,说到这个展讯SC9832处理器,我就忍不住要激动一番!这小家伙,别看它个头不大,心里可是装着大...
资阳大众网乐至烧烤节-资阳乐至... 嘿,朋友们!想象一下,炎炎夏日,一群人围着篝火,手里拿着烤串,脸上挂着满足的笑容,这就是我们资阳的乐...
宝宝吃完奶就打嗝怎么回事-宝宝... 哎呀,每次看到我家小宝贝吃完奶后就开始打嗝,我的心都揪起来了!这小家伙,吃饱了还不安生,一连串的嗝声...
ecshop手机版模板修改-E... 哎呀,说到这个ECSHOP手机版模板修改,我这心里头可真是五味杂陈啊!作为一个天天和代码打交道的前端...