我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。

我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。

当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。

我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。


当前回答

只要重新启动您正在使用的IDE,它就可以工作了。

其他回答

终止进程并关闭你在该端口上运行应用程序的终端。

可以在.angular-cli文件中更改端口。例如:

"defaults": {
    "styleExt": "css",
    "component": {},
    "serve": {
      "port": 4205
    }
  }

另外,有必要在package.json中添加以下内容:

"ng": "ng",
"start": "ng serve"

关闭命令提示符(cmd),然后使用文本编辑器终端或仅使用cmd来运行命令。

对我来说,这就是问题所在,以及我是如何解决它的。

大多数时候你是使用命令提示符创建angular应用的。然后你试着在文本编辑器中运行应用终端。当你试图保存时,你可以看到一些东西在Windows命令提示符上运行。因此,只需关闭它,并在文本编辑器的终端中运行命令。

您还可以尝试在visual studio代码中运行应用程序-:

ng serve --open --port 4201

你可以给出任何端口号。

如果你同时在CMD和IDE中编译angular JS代码,就会出现这个问题。在CMD中,当你在IDE中修改angular JS代码时,你的angular JS代码会自动编译,然后你的IDE想要占用相同的端口,即4200,这个端口已经被CMD占用了 因此,这个问题有一个简单的解决方案,在IDE中编译代码时关闭cmd。