https://github.com/angular/angular-cli#proxy-to-backend以下是如何代理到后端的说明.我一步一步地做了所有事情,但请求仍然没有代理.

8080-My Express后端 4200-我的Angular 2前端

在Angular2项目中,我有文件proxy.conf.json,内容如下:

{
  "/api": {
    "target": "http://localhost:8080",
    "secure": false
  }
}

在angular2Package.json中,我将start过程更改为"start": "ng serve --proxy-config proxy.conf.json"

当我输入inside commander npm start时,一开始我可以看到Proxy created: /api -> http://localhost:8080.我想到目前为止还不错.

我正试图发送请求(Angular2)

  constructor(private http: Http) {
    this.getAnswer();
  }

  getAnswer(): any {
    return this.http.get("/api/hello")
      .subscribe(response => {
        console.log(response);
      })
  }

我得到一个错误,http://localhost:4200/api/hello 404 (Not Found).正如我们所见,没有任何代理.为什么?我做错什么了吗?

说清楚.当我手动转到http://localhost:8080/hello时,一切正常.在后端方面没有什么可寻找的.

推荐答案

你能试试这个吗:

{
  "/api": {
    "target": "http://url.com",
    "secure": false,
    "pathRewrite": {"^/api" : ""}
  }
}

它对我有用,

** NG Live Development Server is running on http://localhost:4200. **
 10% building modules 3/3 modules 0 active[HPM] Proxy created: /api  ->  http://ec2-xx-xx-xx-xx.ap-south-1.compute.amazonaws.com
[HPM] Proxy rewrite rule created: "^/api" ~> ""

Angular相关问答推荐

如何从Angular TS文件传递$Events对象?

Angular 17@在大小写时切换多个值

Angular 15:将数据从主零部件传递到辅零部件

ANGLING HTTP.GET()返回包含数据的数组

我正在try 将一个带有模块联盟的Angular 8项目expose 到另一个Angular 项目,Angular 是15,这可能吗?如果是这样,有什么建议吗?

Angular 信号 - 使用 mutate() 与使用 forEach() react 性

获取 Angular 中所有子集合 firestore 的列表

如何访问父组件中提供的 TemplateRef 内的服务?

有条件地取消所有内部可观察对象或切换到仅发出一个值的新对象

Angular 服务decorator 提供在延迟加载的根效果

Angular2 路由 VS ui-router-ng2 VS ngrx 路由

错误:formControlName 必须与父 formGroup 指令一起使用.您需要添加一个 formGroup 指令

来自 ngFor 项的动态 routerLink 值给出错误Got interpolation ({{}}) where expression was expected

初始化所有子类后的Angular 2生命周期钩子是什么?

Angular2 Base64 清理不安全的 URL 值

使用 DomSanitizer 绕过安全性后,安全值必须使用 [property]=binding

在 Angular 2 中使用 store (ngrx) 有什么好处

交替行 colored颜色 angular material表

Angular 5 和material - 如何从 SnackBar 组件更改背景 colored颜色

Angular2/4 中的ng-reflect-*属性有什么作用?