IntelliJ IDEA + Angular ng-serve 每次更改都重新编译

5

我正在使用IntelliJ IDEA开发Angular应用程序。我在终端窗口中运行ng服务器。 每当我更改任何代码时,angular cli会自动重新编译,并导致浏览器不断刷新。我希望只有在我点击“构建项目”图标或按下Ctrl + S时,angular cli才重新编译。 我已经花费了数小时查看IntelliJ和angular cli,但无法找到如何实现这一点的内容。 如果您知道,请帮忙。

4个回答

8

在IntelliJ中最终找到设置。

前往[设置->外观和行为->系统设置],并取消选中以下选项:

  • 在框架或编辑器选项卡激活时同步文件
  • 在框架停用时保存文件
  • 如果应用程序空闲[]秒自动保存文件

4
Live Reload on saving是Angular CLI的一个功能,可以通过在ng serve中传递--no-live-reload来禁用它。但它只会在显式保存时重新构建和重新加载页面,而不是在每个文件更改时。要使它仅在按下Ctrl+S时工作,您需要在IDEA中禁用自动保存。 IDEA通常不会在每次按键时自动保存文件。如果它仅在调试应用程序时发生,请检查Live Edit(在调试会话期间处于活动状态)是否在“设置|构建、执行、部署|调试器|实时编辑”中启用 - 它会自动保存文件以提供实时重新加载。 一些其他插件也可能负责自动保存 - 例如,第三方SonarLintESLint插件因保存文件以分析更改等原因而导致此类问题。

2

如果没有保存文件,cli将不会编译。除非您的IDE自动保存,否则在按下Ctrl + S之前不会重新加载。

但是,您仍然可以使用--no-live-reload选项来禁用更改时的浏览器重新加载,或者使用--poll来增加更改检测之间的时间间隔。

有关选项,请参阅官方文档


Translated text:
如果没有保存文件,cli将不会编译。除非您的IDE自动保存,否则在按下Ctrl + S之前不会重新加载。
但是,您仍然可以使用--no-live-reload选项来禁用更改时的浏览器重新加载,或者使用--poll来增加更改检测之间的时间间隔。
有关选项,请参阅官方文档。

这可是21世纪,Angular居然无法检查哈希是否已更改以确定是否需要重新编译... 真是太棒了! - user1685095

0

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