Angular CLI CSS注入而非重载

8
当我运行ng serve时,如果我更改了.scss文件,它会导致页面重新加载。这很不方便,可能会丢失一些状态或开发工具更改。
通常,当我设计时,我使用类似于browsersyc的东西来注入css而不刷新页面。当我需要调试一些棘手的问题时,这可以节省大量时间。
有没有办法让angular cli注入.scss更改而不是重新加载页面?
编辑:
从webpack文档中:
HMR是一个选择性功能,仅影响包含HMR代码的模块。一个例子是通过style-loader打补丁修补样式。为了使修补工作,style-loader实现了HMR接口;当它通过HMR接收到更新时,它用新的样式替换旧的样式。
同样,当在模块中实现HMR接口时,您可以描述模块更新时应该发生什么。但是,在大多数情况下,在每个模块中编写HMR代码并不是必需的。如果一个模块没有HMR处理程序,则更新会向上冒泡。这意味着单个处理程序可以更新完整的模块树。如果更新了树中的单个模块,则会重新加载整个依赖项集。
据我所知,Angular-CLI支持HMR,但我找不到任何官方文档。
在Angular 6中是否有可能实现样式加载器?

我认为你不能这样做,因为需要编译scss文件。 - Robin Dijkhof
1
那太糟糕了,这使得为Angular设计的速度比正常情况下慢10倍。 - Guerrilla
1个回答

2
使用Angular 7,您可以按照此指南启用HMR(热模块替换)。这不同于CSS注入,但比完全重新加载和编译要快得多。最好的是,它还适用于您的ts文件。
小加注:
我认为您实际上可以通过注入来加载更改的CSS,但需要遵循HMR文档中的这一部分。

HMR在懒加载模块中无法正常工作,这使得它在许多情况下变得毫无意义。 - devstructor
1
你的第一个链接已经失效了。 - Cam

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