Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular/CLI:如何更改自动重新加载的端口?_Javascript_Angular_Angular Cli - Fatal编程技术网

Javascript Angular/CLI:如何更改自动重新加载的端口?

Javascript Angular/CLI:如何更改自动重新加载的端口?,javascript,angular,angular-cli,Javascript,Angular,Angular Cli,据我所知,在运行ng serve时,Angular应用程序会轮询开发服务器,以确定是否需要重新加载。此服务器应位于端口4200上(默认) 我运行了一个带有多个docker容器的开发环境,以保持良好和隔离。所以我的一些angular应用在不同的端口上监听。这似乎会导致每隔几秒钟在我的浏览器控制台中出现以下错误消息: zone.js:2744 GET http://localhost:4200/sockjs-node/info?t=1518533495440 net::ERR_EMPTY_RESPO

据我所知,在运行
ng serve
时,Angular应用程序会轮询开发服务器,以确定是否需要重新加载。此服务器应位于端口4200上(默认)

我运行了一个带有多个docker容器的开发环境,以保持良好和隔离。所以我的一些angular应用在不同的端口上监听。这似乎会导致每隔几秒钟在我的浏览器控制台中出现以下错误消息:

zone.js:2744 GET http://localhost:4200/sockjs-node/info?t=1518533495440 net::ERR_EMPTY_RESPONSE

在哪里可以更改配置以将实时重新加载客户端指向正确的方向?angular-cli.json似乎没有任何作用。

您可以使用两个命令行选项配置默认HTTP端口和LiveReload服务器使用的端口:

ng serve --host 0.0.0.0 --port 4201 --live-reload-port 49153

您可以使用
--port

ng serve --port 4201

将在端口4201上启动服务器。我找到了解决方案。您必须使用
--public host
选项(别名:
--live reload client
)启动
ng service
。因此,我修改了package.json中的start命令

"start": "ng serve --host 0.0.0.0"


关键是我不想更改dev服务器本身的端口。它应该在端口4200上的Docker容器内运行。但是端口4200在Docker中映射到外部端口4400(在我的例子中)。我打电话在浏览器中运行应用程序,重新加载客户端也应该呼叫更新。但是它打电话来了。使用
--live reload client
选项,一切正常。

运行应用程序实例时,请使用以下命令: ng服务——端口123

而不是: ng发球

虽然在package.json中进行了更改,但并没有产生任何影响。

似乎——新版本中不再使用实时重新加载端口。 实时重新加载端口与开发服务器端口相同。
因此,设置
--端口4201
将使用4201作为实时重新加载端口。

我不想更改应用程序本身的端口。它在4200上的docker容器内部运行,但在外部映射到端口4400。这就是造成此问题的原因。这不是一个有效的选项:选项“--live reload port”未在serve命令中注册。这对我有效
ng serve--public hosthttp://localhost:4200
。地址栏中的URL是9090,它代理4200(但不能代理WebSocket)
"start": "ng serve --host 0.0.0.0 --live-reload-client http://localhost:4400"