我已经创建了一个带有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
已经在互联网上搜索了很多信息,但没有解决问题。
答案 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 的值。
答案 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