Webpack - DevServer 和 HMR
Webpack - DevServer 和 HMR
不使用DevServer的方式
- live-server
- webpack --watch
DevServer
安装
npm i webpack-dev-server
// script 脚本
"serve": "webpack server --config wk.config.js"
简介
- 编译之后不输出文件,存放在内存中
- 使用了一个库: memfs
- 使用 express 提供服务
- 需要更高自由度 - webpack-dev-middleware
创建一个HTTP中间件
HMR - 模块热替换
Config
// package.json
devServer:{
Hot: true
}
// 导入的模块
if(module.hot){
module.hot.accept('./math.js', callback) //参数1为模块, 参数为模块变化时的回调
}
框架中的HRM
- React
react fast fresh - Vue
Vue Loader
内置,开箱即用
HRM 原理
webPack的publicPath
devServer 的publicPath
contentBase
加载资源的根目录
hostOnly & host
port & open & compress
proxy代理
historyApiFallback