需要哪些额外设置才能将 Angular 默认端口从 4200 更改为其他数字?

What additional settings are needed to change Angular default port from 4200 to other numbers?

我正在使用 Visual Studio Community 2022 学习 asp.net 核心 webapi 和 angular 13。

该解决方案由两个具有以下模板的项目组成:

我做了以下修改:

当我按下 Start 按钮(在调试模式下)并接受 asp.net 开发证书时,打开了两个浏览器。他们显示了正确的结果(天气预报模拟数据)。 Swagger 在 40443 端口打开,angular 在 4200 端口打开。

尝试将 Angular 端口从 4200 更改为 5000

因为我希望 Angular 在端口 5000 上监听(例如),我将 "port": 5000 添加到 angular.json 如下

"serve": {
  // other settings are truncated for the sake of simplicity
  "options": {
    "proxyConfig": "src/proxy.conf.js",
    "port": 5000
  }
}

不幸的是,angular 开发服务器的控制台 window 上显示了以下错误:

[webpack-dev-server] [HPM] Error occurred while proxying request localhost:5000/weatherforecast to https://localhost:40443/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)

问题

我在这里错过了什么?

如果我理解正确的话,您希望 angular 监听端口 5000。您提到的设置是针对代理的(从 Angular 到 api)。您正在寻找的命令(从不同的端口为您 angular 服务器是:

ng serve --port 5000

现在在 localhost:5000。

我还需要在Angular项目中修改launch.json如下

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "localhost (Chrome)",
      "url": "https://localhost:5000",
      "webRoot": "${workspaceFolder}"
    },
    {
      "type": "edge",
      "request": "launch",
      "name": "localhost (Edge)",
      "url": "https://localhost:5000",
      "webRoot": "${workspaceFolder}"
    }
  ]
}

有点counter-intuitive,因为我用 VS Community 创建了项目,但是 launch.json 在被 VS Community 隐藏的 .vscode 中。