如何基于脚手架配置Angular代理

本篇内容介绍了“如何基于脚手架配置Angular代理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联公司专注于淮阴网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供淮阴营销型网站建设,淮阴网站制作、淮阴网页设计、淮阴网站官网定制、成都微信小程序服务,打造淮阴网络公司原创品牌,更为您提供淮阴网站排名全网营销落地服务。

如何基于脚手架配置Angular代理

Angular proxy 配置

  • 官网文档 https://angular.io/guide/build#using-corporate-proxy

为何做?

写一个代理文件,将匹配的请求代理到其他地址,解决本地开发跨域问题。

如何配置?

  • 在根目录中创建一个proxy.config.js

  • 可以在这个文件中做如下配置

  • 在 package.json的运行项目命令中加入 --proxy-config proxy.config.js

配置介绍

const PROXY_CONFIG = [
  {
    context: ['/api'],
    target: 'http://xxx',
    secure: false,
    changeOrigin: true,
    pathRewrite: {
      '^/api': '',
    },
  },
];
module.exports = PROXY_CONFIG;
  • context: 需要匹配的path

  • target: 代理到的地址

  • pathRewrite: 将请求的部分path重写,它是一个对象,键是^+要重写的path, 值是替换的path。

  • secure: 安全设置

  • changeOrigin: 改变源

配置实例

http://localhost:4208/auth/login

想要代理到

http://www.baidu.com/news/login

可以这样配置

const PROXY_CONFIG = [
  {
    context: ['/auth/login'],
    target: 'http://www.baidu.com',
    pathRewrite: {
        '^/auth/login': '/news/login',
    },
  },
  
]

module.exports = PROXY_CONFIG;

Q: 如果有两个接口,一个/api/cer/register,另外一个/api/cer/login,我该如何将两个接口代理到不同的地址?

{
    context: ['/api/cer/login'],
    target: 'xxx1',
    secure: false,
    changeOrigin: true,
},
{
    context: ['/api'],
    target: 'xxx2',
    secure: false,
},

使用/api,只要是匹配到这个的都会走它的代理,不过如果在它前面加了个更加精确的/api/cer/login,会优先匹配到它,走这个代理。

“如何基于脚手架配置Angular代理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站标题:如何基于脚手架配置Angular代理
网站链接:http://azwzsj.com/article/jghcss.html