webpack“--watch”vs“--hot”:有什么区别?

时间:2016-06-29 03:17:19

标签: webpack

使用

之间有什么区别
webpack --watch

webpack-dev-server --hot

感谢。

2 个答案:

答案 0 :(得分:38)

根据webpack文档@ https://webpack.github.io/docs/tutorials/getting-started/#watch-mode

  

使用监视模式时,webpack会将文件监视器安装到所有文件中,   在编译过程中使用的。如果检测到任何变化,   它会再次运行编译。启用缓存时,webpack   将每个模块保存在内存中,如果没有更改,将重复使用它。

因此,基本上,运行webpackwebpack --watch之间的区别在于,在使用--watch时,您的CLI将在编译过程中挂起,等待文件中的任何代码更改,如果有改变,然后它将重新编译并再次等待。您应该知道,如果您使用的是webpack-dev-server,那么您不需要使用此选项,因为默认情况下webpack-dev-server根据其文档使用webpack的监视模式:

  

开发服务器使用webpack的监视模式。它还可以防止webpack   从将结果文件发送到磁盘。相反,它保持和服务   来自内存的结果文件。

那么,webpack-dev-server --hot是什么?基本上,这会将HotModuleReplacementPlugin添加到webpack配置中,这实际上只允许您重新加载已更改的组件,而不是执行整页刷新!在与州合作时非常有用!根据文件:

  

每种模式还支持捆绑包的热模块替换   通知发生了更改,而不是整页重新加载。热的   然后,模块替换运行时可以加载更新的模块和   将它们注入正在运行的应用程序。

有关它是什么以及如何在此使用它的更多信息:https://webpack.github.io/docs/webpack-dev-server.html#hot-module-replacement

我希望这有助于更多地理解webpack!

答案 1 :(得分:0)

简而言之,

--watch的意思是:监视文件更改,并在源文件更改时再次编译。

--hot(热重载)是指:在源更改后不要重载整个页面,只需重载已更改的部分。