使用
之间有什么区别webpack --watch
和
webpack-dev-server --hot
感谢。
答案 0 :(得分:38)
根据webpack文档@ https://webpack.github.io/docs/tutorials/getting-started/#watch-mode
使用监视模式时,webpack会将文件监视器安装到所有文件中, 在编译过程中使用的。如果检测到任何变化, 它会再次运行编译。启用缓存时,webpack 将每个模块保存在内存中,如果没有更改,将重复使用它。
因此,基本上,运行webpack
和webpack --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
(热重载)是指:在源更改后不要重载整个页面,只需重载已更改的部分。