Angular / CLI - 不会发生自动重新加载

时间:2017-06-02 14:21:35

标签: angular-cli

我最近开始使用Angular / CLI工具,我在执行文件时遇到问题,就是我运行时

ng serve 

然后这个命令帮助我们在源文件中进行任何更改时自动重新加载站点,但在我的系统中它没有发生(即站点不是自动重新加载,当我强行重新加载站点时,它也没有得到根据源文件中的更改进行更新。

只有当我终止“ng serve”命令并再次运行相同的命令(“ng serve”)时,网站才会更新,然后我的网站才会更新。

因此,当我做出更改时,我很难终止服务器并连接服务器,因此我请求人们,如果有人知道这个问题的解决方案,请帮助我。

13 个答案:

答案 0 :(得分:22)

我在linuxOS中几天前也遇到了同样的问题,当我读到它时,我发现这个问题在很大程度上取决于你使用的系统以及你为angular-cli设置的方式,两者都有全球和本地。 因此,在阅读了angular-cli为每个项目创建的readme.md之后,我尝试使用ng-build --watch,但问题仍然无法解决,因为通过运行此命令它应该像ng-serve一样工作但是它只构建应用程序,甚至不在localhost:4200上提供它。 然后,在深入挖掘问题之后,我发现了问题,这是我的操作系统,我使用的是ubuntu,inotify/max_user_watches值8192,我交叉了,因为它没有显示任何变化做得更远。 所以我用这些 - echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf sudo sysctl -p 它运作良好。

P.S。在这个过程中,我也使用这些命令来解决问题 - rm -rf nodes_modules/ - > npm update - > npm install。 在做上述陈述之前尝试这个,如果这适合你,那么你很好,也很好。

答案 1 :(得分:14)

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

答案 2 :(得分:5)

当文件被修改时,Ng服务会自动重新加载,但是如果配置搞砸了,那么你可以尝试下面的命令

ng serve --live-reload

答案 3 :(得分:5)

运行sudo服务,对我有用

sudo ng serve

答案 4 :(得分:2)

我正在使用角度6,并在为我工作的max_user_watches上增加了时间

sudo echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf

sudo sysctl -p /etc/sysctl.conf

答案 5 :(得分:2)

我在ubuntu机器上也遇到了同样的问题。这是由于权限设置。我按照以下提到的步骤更改了工作区权限设置。

  1. 打开一个终端窗口。
  2. 在终端中输入sudo chmod a+rwx /path/to/file,用您要提供的文件替换“ / path / to / file” 所有人的权限,然后按“ Enter”。您也可以使用 命令sudo chmod -R a+rwx /path/to/folder授予权限 一个文件夹以及其中的每个文件和文件夹。省略“ x” 如果您不希望文件可执行,则使用这两个命令。

我用过sudo chmod -R a+rwx /path/to/folder

  1. 在密码提示下输入密码,然后按“ Enter”。

完成后,执行npm build并通过ng serve启动应用程序。

[OR]

只需使用“ sudo ng serve”即可。

现在在工作区文件中进行必要的更改,并且无需重新启动,就会发生自动重新加载。希望这会有所帮助!

答案 6 :(得分:1)

@Durga Abhist我正在使用Linux计算机。我只是通过以sudo模式在终端中打开项目路径来解决监视问题。我什么也没做。

答案 7 :(得分:0)

只需运行以下所有命令,我希望它会起作用。

rm -rf nodes_modules/
npm update
npm install

然后重新启动服务器

ng serve -o

答案 8 :(得分:0)

当我的devDependencies是Angular 7时遇到了问题
但安装angular/cli版的8.x.x

"devDependencies": {
    "@angular-devkit/build-angular": "^0.13.8",
    "@angular/cli": "^7.3.8",
    "@angular/compiler-cli": "^7.2.12",
}

只需全局删除cli

npm unintsall -g @angular/cli
npm cache clean -f 

检查状态

ng version # if remove successfully, the command would no work

然后再次安装cli

sudo npm install @angular/cli@^7.3.8 -g

答案 9 :(得分:0)

如果 ubuntu 20.04 上的自动重装功能不起作用,而您正在使用 nvm ,请尝试运行以下命令:

  1. sudo echo“ fs.inotify.max_user_watches = 524288” >> /etc/sysctl.conf
  2. 删除应用程序文件夹中的 node_modules
  3. npm卸载-g @ angular / cli
  4. npm缓存验证
  5. npm install -g @ angular / cli
  6. 在应用程序的文件夹中运行 npm i

希望当您运行 ng服务时,一切都会按预期运行。

答案 10 :(得分:0)

我遇到此问题是因为我使用 WSL 为 Windows 目录 (/mnt/...) 下的项目运行命令。

为了解决它,我将项目目录转移到 WSL 目录 (~/) 上。

答案 11 :(得分:-1)

对我有用: ng serve --poll = 1000

答案 12 :(得分:-5)

如果您使用的是 Linux系统,则以下命令可能对您有所帮助

在终端中运行以下命令

中餐

对我有用!