解析图片和字体
-
file-loader
-
url-loader 可以转base64
文件监听
-
启动webpack命令时,带上 --watch
-
修改webpack.config.js中设置watch:true
热更新 webpack-dev-server
- webpack-dev-server 踩坑:新版本的webpack已经不用cententbase了,需要使用static替代
- webpack-dev-middleware
文件指纹
打包后输出的文件名的后缀,通常可以用来做版本管理
-
hash 和整个项目的构建相关,只要项目文件有修改,整个项目构建的hash值就会更改
-
chunkhash 和wepack打包的chunk(通常指模块)有关,不通的netry会生成不通的chunkhash值
-
contentHash:根据文件内容来定义hash,文件内容不变,则contenthash不变
-
js文件指纹设置:设置output的filename,使用【chunkhash】
-
css文件:设置MiniCssExtractPlugin的filename,使用【contenthash】
-
图片的文件指纹设置:设置file-loader的name,使用【hash】,默认是md5生成
代码压缩
-
HTML压缩:修改html-webpacl-plugin,设置压缩参数
-
css压缩: 使用optimize-css-assets-webpack-plugin,同时使用cssnano 踩坑:webpack5已经不支持optimize-css-assets-webpack-plugin,需要使用css-minimizer-webpack-plugin替代
-
js压缩:webpack内置了uglifyjs-webpack-plugin,所以默认js文件是经过了压缩的