Angular工程解决跨域

159 阅读1分钟

原理:绕过浏览器,通过服务器向另一个服务器发送请求,底层使用 webpack 代理支持实现

比如,要把所有到 http://localhost:4200/api 的调用都转给运行在 http://test/api 上的服务器,可采取如下步骤:

1、在项目的 src/ 目录下创建一个 proxy.conf.json 文件。

2、proxy.conf.json中添加内容:

{ 
"/api": { 
   "target": "http://test", 
   "secure": false"changeOrigin":true
  } 
}

3、配置angular.json

"architect": {
    "serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "options": {
        "browserTarget": "your-application-name:build",
        "proxyConfig": "src/proxy.conf.json"
      },

4、使用 ng serve 重新启动