webpack历史版本和webpack5

1,247 阅读2分钟

这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

前言

这是一个专栏系列,一步一步的学习和深入webpack5,没错5,不是4。
学习的一个很好的习惯,就是写作,生命不止,代码不停,写作不休。

版本历史

版本发布事件特色
Webpack 12013
Webpack 22016支持ES Module,支持tree sharking
Webpack 32017.06.20Scope Hoisting和Magic Comment等
Webpack 42018.02.25mode属性,WebAssembly,支持多种模块类型,0配置等
Webpack 52020-10-10优化缓存,改善Tree Shaking等等

这里还有一个关键节点,2015,webpack1支持CMD和AMD,同时拥有丰富的plugin和loader,webpack逐渐得到广泛应用。

之后的webpack基本是一年一个版本, 火箭一般的发展和发版。

不得不说,出名了,自然就神了。 当然也是时代的选择,她首先必须足够的优秀。

webpack5

版本重点

这个版本的重点(官方)

  • 尝试用 持久性缓 存来提高构建性能。
  • 尝试用 更好的算法和默认值 来改进长期缓存。
  • 尝试用 更好的 Tree Shaking 和代码生成来改善包大小。
  • 尝试改善与网络平台的 兼容性
  • 尝试在不引入任何破坏性变化的情况下,清理那些在实现 v4 功能时处于 奇怪状态的内部结构
  • 试图通过现在引入突破性的变化来为 未来的功能做准备,使其能够尽可能长时间地保持在 v5 版本上。

再简单优化

  1. 优化缓存
  2. 改善 Tree Shaking
  3. 清理历史旧账,为未来做准备

重大变化

  1. 所有在 v4 中被废弃的能力都被移除
  2. 不再为 Node.js 模块 自动引用 Polyfills

其他的重大变更,作为后续的文章继续讲解。

Roadmap 2021

  1. 让webpack5 更加稳定
  2. 更好的支持原生EcmaScript 模块(ESM)
  3. 更多一等公民
  4. CSS 作为模块
  5. SourceMap 性能优化
  6. exports/imports package.json field
  7. 完善 CommonJS 分析
  8. 模块联邦(Module Federation)的 HMR
  9. 提示系统
  10. 多线程
  11. WebAssembly

2021年都快完结了,这些Roadmap具体实现到什么程度呢?

小结

今天你收获了吗?

引用

Webpack 5 发布 (2020-10-10)
webpack的版本进化史
webpack 4: released today!!
Release v4.0.0 · webpack/webpack