如何避免JIT编译失败后重新启动angular live dev服务器?

如何避免JIT编译失败后重新启动angular live dev服务器?,angular,Angular,在很多情况下,我发现自己在angular模板中输入了一个拼写错误或使用了错误的语法,这导致angular无法通过JIT编译。这很好,我会修正我的打字错误,一切都会好起来的,对吗 错 现在angular突然忘记了指令是什么,我得到了如下错误:无法绑定到'ngIf',因为它不是'div'的已知属性。 解决方案是关闭live dev服务器并重新启动它。我的电脑速度很慢,而且这个应用程序很大,这意味着我将等待一切重新编译一两分钟,这一切都是因为模板中有一个输入错误 我能做些什么来保持livedev服务器

在很多情况下,我发现自己在angular模板中输入了一个拼写错误或使用了错误的语法,这导致angular无法通过JIT编译。这很好,我会修正我的打字错误,一切都会好起来的,对吗

现在angular突然忘记了指令是什么,我得到了如下错误:
无法绑定到'ngIf',因为它不是'div'的已知属性。

解决方案是关闭live dev服务器并重新启动它。我的电脑速度很慢,而且这个应用程序很大,这意味着我将等待一切重新编译一两分钟,这一切都是因为模板中有一个输入错误


我能做些什么来保持livedev服务器运行并提醒什么是指令?可能只是重新编译模块或类似的东西?

有时,更改当前模块或应用程序模块的ts文件中的某些内容,以强制angular从代码层次结构的更高位置重新编译会有所帮助。也可以尝试一次“触摸”多个文件(例如,应用程序模块和功能模块ts)

无法做到这一点。
当您遇到此错误时,这意味着您编译的js文件包含项目中不存在的模块或组件,因此将发生致命错误。

您尝试过AOT吗?我没有尝试过AOT,使用它会丢失任何开发功能吗?我对它不是很熟悉,它只是在构建时编译代码,而不是在构建时使用浏览器。通常,它允许捕获一些特定于AOT的错误,从我收集的关于AOT的信息来看,它是用于prod的,因为当我在dev中进行更改时,它没有正确地重新编译,这是我想要保留的特性。也许对于我所描述的这个问题,没有一个解决方案这么有意义。我得试试,然后再打给你不幸的是,这不起作用。我试着触摸app.module、共享模块和功能模块。虽然,我对“触摸”所做的只是键入一个空格,然后将其删除并保存,也许我还可以尝试其他方法?仍然得到ngIf不是div error的已知指令哪个版本的angular?我在过去注册了angular 11.1(与您的问题类似,但是scss文件中存在打字错误),在这个项目上运行angular 10.1已经解决了(现在是11.2.1)。我怀疑我是否能够说服我的团队的其他成员它值得升级我担心Angular的政策是限制bug修复主要是最新版本。。。我自己对此不太高兴,因为当时11号刚刚发布一两个月。