Angular-cli ng服务于livereload不起作用

时间:2016-11-01 18:21:24

标签: angular typescript npm

我已经创建了一个带有Ng-cli的示例项目,然后我在源文件夹中运行了service,项目在浏览器中正确加载,但是livereload无法正常工作。

npm -v:3.10.9

ng -v:  angular-cli:1.0.0-beta.19-3  节点:4.4.3  os:win32 x64

已经在互联网上搜索了很多信息,但没有解决问题。

9 个答案:

答案 0 :(得分:48)

我在Ubuntu 16.04和angular CLI 1.0.0上遇到了同样的问题。

问题与Linux上的Inotify手表限制有关。 为了解决这个问题,我将手表限制增加到了512K。 运行这些命令。

sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p --system

之后,我重新启动了IDE,之后,更改检测开始起作用。

答案 1 :(得分:15)

增加inotify观察者的数量

技术细节

Listen默认情况下在Linux上使用inotify来监视目录以进行更改。在您可以监控的文件数量上遇到系统限制并不罕见。例如,Ubuntu Lucid的(64位)inotify限制设置为8192。

您可以通过执行以下命令获取当前的inotify文件监视限制:

$ cat /proc/sys/fs/inotify/max_user_watches

如果此限制不足以监视目录中的所有文件,则必须增加限制以使Listen正常工作。

您可以使用以下方式设置临时新限制:

$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p

如果您希望永久限制,请使用:

$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p

如果Listen继续抱怨,您可能还需要注意 max_queued_events max_user_instances 的值。

more info here

答案 2 :(得分:4)

尝试 <table style="width:100%" <thead> <tr> <th>Firstname</th> </tr> </thead> <tbody id="TableBody"> <% ArrayOfNames.forEach(function(output){%> <tr> <td><%=output.name%></td> </tr> <%});%> </tbody> </table> 标记。这面旗帜适合我。 可能会出现问题因为--live-reload flag已被弃用

答案 3 :(得分:3)

由于网络包。

如果我们一次运行两个角度应用程序。 有时,每次我们需要停止并启动应用程序时,它可能不会重新加载应用程序。 对于这种情况,一次运行一个应用程序

答案 4 :(得分:1)

不确定您的版本存在什么问题,但最近我遇到了类似的问题。这是我的机器环境:
Ubuntu: 16.04.3 npm -v : 5.5.1
ng -v : Angular CLI: 1.5.5 Node: 9.2.0 OS: linux x64 Angular: 5.0.4
我正在使用ng serve -o在本地提供文件,这是导致重新加载问题的原因之一,解决问题的原因是ng serve --open 。希望这会有所帮助。

答案 5 :(得分:1)

您的项目是否在映射的网络驱动器上?我发现这导致LiveReload失败。

在Windows 7上运行VS代码。 Angular CLI:1.7.4 节点:8.11.1 NPM:5.6.0 操作系统:win32 x64

我在我的'E:'驱动器上使用Angular CLI创建了一个准系统Angular应用程序,该应用程序映射到我网络上的文件夹。 'ng serve'不会检测代码更改。我将项目复制到我的'C:'驱动器,Live Reload按预期工作。因此,请查看将项目移动到本地驱动器是否可以解决问题。

答案 6 :(得分:1)

Linux操作系统上,使用sudo

通过管理控件运行您的应用
sudo ng serve

答案 7 :(得分:0)

实时重载服务器在升级到Angular 7后停止工作。

原因是我的Node版本是10.15.0。在Windows 10 x64上。

将Node降级到10.10.0版后->现在一切正常。

您可以从此处下载旧版Node:https://nodejs.org/en/download/releases/

祝你好运。

答案 8 :(得分:0)

只需将fs.inotify.max_user_watches=524288添加到此文件/etc/sysctl.conf

或运行此sudo echo “fs.inotify.max_user_watches=524288” >> /etc/sysctl.conf。如果您不想打开文件并对其进行编辑,也应该可以使用。

然后运行此sudo sysctl -p --system