Webpack5入门到原理25:总结

我们从 4 个角度对 webpack 和代码进行了优化:

  1. 提升开发体验
  • 使用 Source Map 让开发或上线时代码报错能有更加准确的错误提示。
  1. 提升 webpack 提升打包构建速度
  • 使用 HotModuleReplacement 让开发时只重新编译打包更新变化了的代码,不变的代码使用缓存,从而使更新速度更快。
  • 使用 OneOf 让资源文件一旦被某个 loader 处理了,就不会继续遍历了,打包速度更快。
  • 使用 Include/Exclude 排除或只检测某些文件,处理的文件更少,速度更快。
  • 使用 Cache 对 eslint 和 babel 处理的结果进行缓存,让第二次打包速度更快。
  • 使用 Thead 多进程处理 eslint 和 babel 任务,速度更快。(需要注意的是,进程启动通信都有开销的,要在比较多代码处理时使用才有效果)
  1. 减少代码体积
  • 使用 Tree Shaking 剔除了没有使用的多余代码,让代码体积更小。
  • 使用 @babel/plugin-transform-runtime 插件对 babel 进行处理,让辅助代码从中引入,而不是每个文件都生成辅助代码,从而体积更小。
  • 使用 Image Minimizer 对项目中图片进行压缩,体积更小,请求速度更快。(需要注意的是,如果项目中图片都是在线链接,那么就不需要了。本地项目静态图片才需要进行压缩。)
  1. 优化代码运行性能
  • 使用 Code Split 对代码进行分割成多个 js 文件,从而使单个文件体积更小,并行加载 js 速度更快。并通过 import 动态导入语法进行按需加载,从而达到需要使用时才加载该资源,不用时不加载资源。
  • 使用 Preload / Prefetch 对代码进行提前加载,等未来需要使用时就能直接使用,从而用户体验更好。
  • 使用 Network Cache 能对输出资源文件进行更好的命名,将来好做缓存,从而用户体验更好。
  • 使用 Core-js 对 js 进行兼容性处理,让我们代码能运行在低版本浏览器。
  • 使用 PWA 能让代码离线也能访问,从而提升用户体验。

相关推荐

  1. Webpack5入门原理25总结

    2024-01-21 06:58:01       54 阅读
  2. Webpack5入门原理20:Vue 脚手架搭建

    2024-01-21 06:58:01       58 阅读
  3. Webpack5入门原理21:提升开发体验

    2024-01-21 06:58:01       52 阅读
  4. Webpack5入门原理22:提升打包构建速度

    2024-01-21 06:58:01       50 阅读
  5. Webpack5入门原理18:Plugin 原理

    2024-01-21 06:58:01       43 阅读
  6. Webpack5入门原理17:Loader 原理

    2024-01-21 06:58:01       46 阅读
  7. Webpack5入门原理10:处理其他资源

    2024-01-21 06:58:01       54 阅读
  8. Webpack5入门原理14:生产模式介绍

    2024-01-21 06:58:01       56 阅读
  9. Webpack5入门原理11:处理 js 资源

    2024-01-21 06:58:01       45 阅读
  10. Webpack5入门原理13:开发服务器&自动化

    2024-01-21 06:58:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-21 06:58:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-21 06:58:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-21 06:58:01       82 阅读
  4. Python语言-面向对象

    2024-01-21 06:58:01       91 阅读

热门阅读

  1. ubuntu下通过ssh在两台计算机之间拷贝文件

    2024-01-21 06:58:01       47 阅读
  2. RHCE--Linux--网站需求

    2024-01-21 06:58:01       57 阅读
  3. TCP协议

    TCP协议

    2024-01-21 06:58:01      56 阅读
  4. Redis(01)——常用指令

    2024-01-21 06:58:01       54 阅读
  5. linux切换root用户su - root和su root的区别

    2024-01-21 06:58:01       52 阅读
  6. vue.config.js中打包相关配置

    2024-01-21 06:58:01       50 阅读
  7. Webpack5入门到原理20:Vue 脚手架搭建

    2024-01-21 06:58:01       58 阅读
  8. springboot vue线上部署项目注意跨域问题

    2024-01-21 06:58:01       48 阅读
  9. Mac Could not find the GDAL library 问题解决

    2024-01-21 06:58:01       52 阅读