如何停止 Visual Studio Code 无限重新编译

16

我正在使用Visual Studio Code开发一个Angular 4项目。有没有办法停止无限重新编译?我使用的命令是'Ng serve'。理想情况下,我希望Visual Studio Code在我进行更改时自动重建,但不会陷入不断重建和重建的循环,即使没有进行任何更改。在这种情况下,我只能使用CTRL-C结束循环,然后再次输入'Ng serve'。有人知道如何做到这一点吗?


我不熟悉你所描述的内容。ng serve会监视文件的更改,当文件发生更改时,它会重新编译。 - theMayer
你解决了这个问题吗?如果你解决了,怎么做的?谢谢! - William Hou
5个回答

4

运行ng serve时,编译输出是从内存中提供的,而不是从磁盘中提供的。这意味着正在提供服务的应用程序并不位于dist文件夹中。

您可以使用

ng serve --poll 1000

1
谢谢您的输入。我明天会尝试并检查您的答案是否有效。不断重新编译确实很麻烦! - Pismotality

3
将手表选项设置为false将停止自动重建:
   ng serve --watch=false

完整的 ng serve 选项列表请看此处,或在命令后使用--help。

1
这将导致完全停止重新编译。然而,作者希望在保存后进行单个重建。 - Mateusz Moroz

1

如果你说ng serve即使没有改动也一直在重新编译,我解决这个问题的方法是:

我进行了以下操作:

ng update @angular/cli @angular/core

1
很多时候,“ng update @angular/cli @angular/core”是不被允许的。我尝试过,但收到了“发现不兼容的同级依赖项”的消息。'Package "codelyzer" has an incompatible peer dependency to "@angular/compiler" (requires ">=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0" (extended), would install "9.0.7").' - William Hou
我认为这个问题可能与许多原因有关,但这个特定的解决方案帮助了我。 - tony2tones

0

我碰巧在同一时刻看到了您的问题和 this github issue。 我不确定这是否可能是您问题的一部分,并且我没有解决同样的问题,但我想这可能有所帮助,如果您还没有看到它。

Oof,犯了基本规则,只发了一个链接。列出的一些建议包括:

  • 检查您是否在服务应用程序时有任何内容从您的目录读取或写入(有几个人报告说备份导致了问题)
  • 不要同时在多个浏览器中提供服务(我无法弄清楚为什么会导致问题,但有人报告说该解决方案对他们有效)

0

我已经寻找解决方案超过半年了,尝试了网上能找到的所有方法,但都没有奏效。我使用的是Windows 10。

最终,在没有其他选择的情况下,我用以下方法解决了这个问题:

    Remove VSCode from your computer COMPLETELY and then reinstall it. 

如果您想保留您的设置,请前往VSCode的设置,输入settings.json或者.json,然后复制并保存内容,或者在左侧的资源管理器中右键单击它并选择“在文件资源管理器中显示”,然后复制并保存它。如果您有自己的“按键绑定”,请从同一文件夹中复制并保存该文件。

要完全删除VSCode,请按照以下步骤进行:

    1. In VSCode, delete "node_modules" and "package-lock.json" first, and then, 
    2. Go to "Console Panel", go to "Programs", click "Uninstall a program", 
       and then uninstall "Visual Studio Code".  

    3. Open Run (Win + R, i.e. press the Windows Key and the R key),
    4. Enter "%appdata%",
    5. Press Enter,
    6. Delete folder "Code".
    7. In the address field on the top of your computer, go to the folder 
       with your name as the folder name, and delete folder ".vscode".

替代步骤3-7,使用文件夹路径:

    => C: drive 
    => folder "Users" 
    => folder with your name (your own folder)
    => delete folder ".vscode"
    => folder "AppData" (sometimes it's hidden) 
    => folder "Roaming"
    => delete folder "Code".

之后,您可以重新安装VSCode,运行命令“npm install”,就这样。

请注意,我是用这种方法解决了我的问题。虽然我不能保证您的问题可以用同样的方式解决,但您可以尝试一下,因为它会从头开始。

另外不要担心会遇到多少麻烦。实际上,这非常简单,几乎没有任何麻烦。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接