1. webpack热更新

Hot Module Replacement,简称HMR,无需完全刷新整个页面的同时,更新模块。
HMR的好处:节省宝贵的开发时间、提升开发体验。

该有的疑问:
1. 浏览器是如何知道本地代码重新编译了,并迅速请求了新生成的文件?
2. 是谁告知了浏览器?
3. 浏览器获得这些文件又是如何热更新成功的?
4. HotModuleReplacementPlugin干了什么伟大的事情?

1.1.1. 1.刷新一般分为两种

  • 一种是页面刷新,不保留页面状态,就是简单粗暴,直接window.location.reload()。

  • 另一种是基于WDS (Webpack-dev-server)的模块热替换,只需要局部刷新页面上发生变化的模块,同时可以保留当前的页面状态,比如复选框的选中状态、输入框的输入等。

1.1.2. 2.webpack的编译构建过程

1.1.3. 3.webpack-dev-server热更新配置

devServer: {
  hot: true
},
plugins: [
  new webpack.NamedChunksPlugin(),
  new webpack.HotModuleReplacementPlugin()
]

1.1.4. 4.热更新实现原理

image

1.1.5. 原文地址:https://blog.csdn.net/chern1992/article/details/106893227

1.1.6. 额外知识点

  • ndb调试
  • websocket
  • memory-fs 内存文件系统
  • jsonp
Copyright © tomgou 2022 all right reserved,powered by Gitbook该文章修订时间: 2023-08-28 17:33:23

results matching ""

    No results matching ""