文件监听
文件监听是在发现源码发生变化时,自动构建出新的输出文件
webpack开启监听模式,有两种方式:
- 启动webpack命令时, 带上 –watch 参数
- 在配置webpack.config.js中设置 watch: true
缺陷: 每次需要手动刷新浏览器
文件监听的原理分析
轮询判断文件的最后编辑时间是否变化
某个文件发生了变化,并不会立刻告诉监听者,而是先缓存起来,等aggregateTimeout
1 | module.exports = { |
热更新: webpack-dev-server
WDS不刷新浏览器
WDS不输出文件,而是放在内存中
使用HotModuleReplacementPlugin插件
最近版本的webpack的devServer,不再使用contentBase,改为使用static
1 | const webpack = require('webpack') |
原理分析
Webpack Compile: 将js编译成Bundle
HMR Server: 将热更新文件输出给HMR Runtime
Bundle Server: 提供文件在浏览器的访问
HMR Runtime: 会被注入到浏览器,更新文件的变化。与服务器建立连接,通常是websocket
Bundle.js: 构建输出的文件
