根级别的Angular代理

Gus*_*pes 6 webpack webpack-dev-server angular

我有一个Angular应用程序和一个用jQuery编写的登录页面。

每当请求位于的根目录时,我都希望为目标网页提供服务http://mywebsite.com。比如说http://mywebsite.com/otherpage,我想服务Angular应用程序。

使用nginx(生产),这相当容易。

在开发Angular时,我们可以/api使用--proxy-config proxy.config.jsonCLI选项轻松代理其他请求,例如。

我遇到的问题是与根级别有关。

我究竟做错了什么?我不能代理根级别吗?

Angular文档告诉我们去Webpack开发服务器文档,但是我仍然不知道该怎么做。

proxy.config.json的如下:

{
  "/api/*": {
    "target": "http://localhost:3000",
    "secure": false,
    "logLevel": "debug"
  },
  "/": {
    "index": "",
    "target": "http://localhost:3000",
    "secure": false,
    "logLevel": "debug"
  }
}
Run Code Online (Sandbox Code Playgroud)

c0l*_*0l3 3

我得到了一个工作代理配置,它只拦截根,而不是使用 baseHref 提供的角度应用程序。您需要使用.js配置(https://angular.io/guide/build#proxy-multiple-entrieshttp-proxy-middleware )以及为(https://github.com/chimurai/http-proxy-middleware#context-matching定义的排除))。下面的配置代理以 . 开头的每个请求/otherpage。角度应用程序应使用“/otherpage”作为 baseHref

const PROXY_CONFIG = [
  {
    context: [
      "/**",
      "!/otherpage**"
    ],
    "target": "http://localhost:3000",
    "secure": false,
  }
];

module.exports = PROXY_CONFIG;
Run Code Online (Sandbox Code Playgroud)