当前位置: 首页 > 知识库问答 >
问题:

到后端的Angular-CLI代理不工作

西门骁
2023-03-14

https://github.com/angular/angular-cli#proxy-to-backend这里提供了如何代理到后端的说明。我一步一步地做了每件事,但请求仍然没有被代理。

8080-my Express后端4200-my Angular2前端

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

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

在Angular2 package.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时,一切正常。在后端没有什么可找的。

共有2个答案

颛孙庆
2023-03-14

这几乎是为我工作。还得补充一句

"changeOrigin": true,

完整的proxy.conf.json如下所示:

{
  "/proxy/*": {
  "target": "https://url.com",
  "secure": false,
  "changeOrigin": true,
  "logLevel": "debug",
  "pathRewrite": {"^/proxy" : ""}
  }
}
彭鸿畅
2023-03-14

你能试试这个吗:

{
  "/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-cli,从localhost:4200运行项目,并尝试从myurl:8080获取服务器请求。由于某种原因,这不起作用,已经尝试了所有选项,但没有帮助。 这是我的proxy.config。json文件: 一个简单的 http.get : 浏览器结果是: 403(禁止)。对预检请求的响应未通过访问控制检查:请求的资源上不存在“访问控制-允许-源”标头。因此,不允许访问源“ht

  • 从git在Angular 4 cli中创建指令 /Angular/projectName$ng生成指令DirectiveName 应该管用 [注意:DirectiveName是唯一的,与组件名称或模块名称不匹配] 但我犯了一个错误 错误:多个模块匹配。使用跳过导入选项跳过将组件导入最近的模块。多个模块匹配。使用跳过导入选项跳过将组件导入最近的模块。

  • 我有一个VueCLI前端应用程序运行在http://localhost:8080 在开发模式中。我试图调用由提供的api服务http://localhost:36856,因此会出现CORS问题。然后,我在vue中设置代理服务器配置。配置。但是它不起作用。下面是一些代码。。。 我在A中创建了一个带有自定义配置的axios新实例pi.js 这是一个我如何构建api服务的例子,它可以被调用

  • 问题内容: 我已经阅读了文档,其中说如果要使用,必须运行以下命令: 但是当我这样做并制作该文件时,我仍然在控制台中收到此错误: styles.bundle.js:33Uncaught错误:模块构建失败:错误:ENOENT:没有此类文件或目录,请打开’/Users/Egen/Code/angular/src/styles.css’(…) 问题答案: 对于Angular 6, 请查看官方文档 注: 对

  • 我已经阅读了文档,文档上说如果我想使用< code>scss,我必须运行以下命令: 但是,当我这样做并创建该文件时,我仍然会在控制台中收到以下错误:

  • 当broker重新启动时,它在第一次工作时很好。但是,这个触发器在第二次重新启动代理时不起作用。我该怎么修好它? 非常感谢。