Angular 13 - 什么取代了 DeployURL

Angular 13 - What replaces DeployURL

我刚刚将项目升级到 angular 13,它删除了服务下的“deployUrl”选项。用什么代替它?

对于上下文,我的 prod 部署在路径 (/appname/) 下,所以我在构建的 deployUrl 中有它,但是在开发过程中使用 ng serve 时这有点烦人,所以我使用了不同的 deployUrl(只是 / ) 发球。

没有它,我在使用 ng serve 时必须使用 localhost:4200/appname/,这不是世界末日,但有点烦人。

谢谢

Angular official docs 看来,deployURL 似乎没有在 v13 中删除,但可能会在 v15 中删除:

Use baseHref option, APP_BASE_HREF DI token or a combination of both instead. For more information, see the deploy url.

最后我的解决方案是用 angular.json 中的 servePath 替换我的 deployUrl :

        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "console:build",
            "proxyConfig": "proxy.conf.json"
          },
          "configurations": {
            "dev": {
              "browserTarget": "console:build:dev",
              "servePath": "/"
            }

然后我在 proxy.conf.json 中添加了曾经是我的部署 url 的代理路径:

{
    "/mypath/*": {
      "target": "http://localhost:4200/",
      "pathRewrite": {"^/mypath" : ""}
    }
  }

有了这个,我在使用服务时恢复了相同的行为:我的产品仍然部署在 /mypath 下,但我的本地服务实例仍然直接在 / 上运行。 在他们在那里删除 deployUrl 之前,我必须想出一些用于构建的东西,但 baseHref 可能会这样做,我需要对其进行测试。