webpack课程学习笔记(二)——持续更新

118 阅读1分钟

解析图片和字体

  • 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文件是经过了压缩的