这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战。
前言
这是一个专栏系列,一步一步的学习和深入webpack5,没错5,不是4。
学习的一个很好的习惯,就是写作,生命不止,代码不停,写作不休。
版本历史
版本 | 发布事件 | 特色 |
---|---|---|
Webpack 1 | 2013 | |
Webpack 2 | 2016 | 支持ES Module,支持tree sharking |
Webpack 3 | 2017.06.20 | Scope Hoisting和Magic Comment等 |
Webpack 4 | 2018.02.25 | mode属性,WebAssembly,支持多种模块类型,0配置等 |
Webpack 5 | 2020-10-10 | 优化缓存,改善Tree Shaking等等 |
这里还有一个关键节点,2015,webpack1支持CMD和AMD,同时拥有丰富的plugin和loader,webpack逐渐得到广泛应用。
之后的webpack基本是一年一个版本, 火箭一般的发展和发版。
不得不说,出名了,自然就神了。 当然也是时代的选择,她首先必须足够的优秀。
webpack5
版本重点
这个版本的重点(官方)
- 尝试用
持久性缓
存来提高构建性能。 - 尝试用
更好的算法和默认值
来改进长期缓存。 - 尝试用
更好的 Tree Shaking
和代码生成来改善包大小。 - 尝试改善与网络平台的
兼容性
。 - 尝试在不引入任何破坏性变化的情况下,清理那些在实现 v4 功能时处于
奇怪状态的内部结构
。 - 试图通过现在引入突破性的变化来为
未来的功能做准备
,使其能够尽可能长时间地保持在 v5 版本上。
再简单优化
- 优化缓存
- 改善 Tree Shaking
- 清理历史旧账,为未来做准备
重大变化
- 所有在 v4 中被废弃的能力都被移除
- 不再为 Node.js 模块 自动引用 Polyfills
其他的重大变更,作为后续的文章继续讲解。
Roadmap 2021
- 让webpack5 更加稳定
- 更好的支持原生EcmaScript 模块(ESM)
- 更多一等公民
- CSS 作为模块
- SourceMap 性能优化
exports
/imports
package.json field- 完善 CommonJS 分析
- 模块联邦(Module Federation)的 HMR
- 提示系统
- 多线程
- WebAssembly
2021年都快完结了,这些Roadmap具体实现到什么程度呢?
小结
今天你收获了吗?
引用
Webpack 5 发布 (2020-10-10)
webpack的版本进化史
webpack 4: released today!!
Release v4.0.0 · webpack/webpack