Webpack5新特性

Webpack 5 发布 (2020-10-10)
从 v4 升级到 v5
文档:https://webpack.docschina.org/concepts/under-the-hood/

2020.11.22 星期日 23:13

2020 年 10 月 10 日,Webpack 正式发布了 5.0 版本。

从 v4 升级到 v5

准备工作

webpack 5 要求至少 Node.js 10.13.0 (LTS)。

使用较新的 Node.js 版本能够改善构建性能。

升级 webpack 以及它的依赖

将 webpack 4 升级到最新的可用版本
将 webpack-cli 升级到最新的可用版本 (当有使用的时候)
将所有使用的 plugin 和 loader 升级到最新的可用版本
确保你的构建没有错误与警告
确保你使用的是 stats 中的入口信息
请确保设置了 mode

升级废弃的配置项
测试 webpack 5 兼容性
升级 webpack 版本
清理配置
清理代码
清理构建代码

运行单个构建并遵循以下建议
如有需要,在 runtime 代码中禁用 ES2015 语法

内核的改变

loader 的 getOptions 方法

新特性(简要)

整体方向

这个版本的重点在于以下几点。

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

重大变更

功能清除:清理弃用的能力,废弃代码,语法废弃等
长期缓存:确定的 Chunk、模块 ID 和导出名称,真正的内容哈希等
开发支持:命名代码块 ID,模块联邦等
支持新的 Web 平台特性:JSON 模块,资源模块,异步模块等
支持全新的 Node.js 生态特性
开发体验:进度,Stars,自动添加唯一命名等
构建优化:模块合并,副作用分析,嵌套的 tree-shaking,内部模块 tree-shaking 等
性能优化:持久缓存,编译器闲置和关闭,文件生成
长期未解决问题:单一文件目标的代码分割,更新解析器等
9)未来计划
0)内部架构变更

详细说明

Webpack 5 正式发布

<!–

其他

英译中
Webpack 5 中的新特性
Webpack 5 中的新特性
–>

Module federation

knowledge is no pay,reward is kindness
0%