39

这个问题特定于 Angular 的第 6 版,而不是更早的版本,因为.angular-cli.json文件已被angular.json文件替换。

我创建了一个新的 Angular 6 项目,并尝试像以前的版本一样更改其默认端口,但这次是在 angular.json 中。

  "defaults": {
    "serve": {
      "port": 4220
  },  

但是得到以下错误:

在 .angular-cli.json 中检测到无效架构,请更正并重试!

有谁知道如何使用这个新版本的 Angular 来做到这一点?

4

6 回答 6

99

由于标题不准确:“ angular-cli server - 如何指定默认端口”,很难找到我的问题的答案,但感谢Vladymir Gonzalez我做到了。

为了帮助其他人快速找到答案,我在这里提取了 Angular 6 的特定部分,属于elwyn

@angular/cli@6.x 的更新:在新的 angular.json 中,您现在为每个“项目”指定一个端口

"projects": {
    "my-cool-project": {
        ... rest of project config omitted
        "architect": {
            "serve": {
                "options": {
                    "port": 4850    <-- add your custom port number here      
                }
            }
        }
    }
}

所有可用选项:

https://github.com/angular/angular-cli/wiki/angular-workspace

于 2018-05-24T23:29:36.537 回答
17

您始终可以在服务时指定端口:ng serve --port 3000

您可以将任何有效的端口号放在那里,它将从该端口提供服务。

于 2018-05-24T23:35:02.747 回答
11

我正在为Angular 2+应用程序提供答案。

如果您想在不同的端口启动 2 个 Angular 应用程序,即

1) port 4200 
2) port 5000

您需要更改“package.json”文件,只需在您的应用程序名称、版本默认可用的第一个花括号中添加一行“脚本块” ,

"scripts": {
    "ng": "ng",
    "start": "ng serve --port 5000 ",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  }, 

通过“npm start”命令启动您的应用程序。此命令将在端口 5000上启动您的应用程序。

于 2018-08-10T11:13:07.053 回答
4

答案很简单ng serve --open --port=YourPortNumber,在命令提示符下写入。

例子 :

ng serve --open --port=4201

==== 其他解决方案 ====

您也可以将其更改为package.json

"scripts": {
  "start": "ng serve --open --port=4201",
}

现在,在命令 propmt 中只写npm start

于 2019-04-10T05:00:03.790 回答
1

更改默认端口的两种方法首先:使用命令

ng serve --port 8000 || ng serve --host '192.168.1.1' --port 8000

第二:编辑你的 package.json

"scripts": {
    "ng": "ng",
    "start": "ng serve --port 8000",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  }, 

如果您在系统中的某个时间使用多个项目,则条件第一个是最好的,而我的事情首先对练习有好处

于 2018-12-11T06:52:59.773 回答
1

要在指定的端口上运行 Angular,请使用命令sudo ng serve --port 8080代替 8080,您可以指定任何端口号。

除非您关闭它,否则这只会在端口号上运行项目。

于 2019-12-31T09:41:06.753 回答