Webpack 5 发布,主要做架构改进

2020年10月13日

时隔两年,Webpack 5 正式发布。 Webpack 是一个模块打包器,主要目的是在浏览器上打包 JavaScript 文件。Webpack 4于2018年2月发布,其官方发布通告称,人们不喜欢带有突破性的重大变化,尤其是Webpack,人们通常一年只接触两次 ,剩下的时间就 "只管用 "了。这是两个大版本之间相隔两年多的原因之一。

这次 Webpack 5更新,主要包含架构上的改进,以及没有这些改进就不可能实现的功能。

整体方向 

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

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

重大变更

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

更新详情

展开阅读全文
13 收藏
分享
加载中
精彩评论
我用 https://parceljs.org/
2020-10-13 13:22
3
举报
谁能告诉我,前端那么多打包工具是干嘛用的?
2020-10-14 09:00
1
举报
最新评论 (8)
我还是喜欢不用打包工具,有时就用gulp+rollup做些合并打包一下,当然,一些前端框架的脚手架还有再用
2020-10-14 09:17
0
回复
举报
谁能告诉我,前端那么多打包工具是干嘛用的?
2020-10-14 09:00
1
回复
举报
前端开发一开始就是异构开发,目前 webpack 做得比 C/C++ 那些交叉编译功能更丰富
2020-10-14 09:27
0
回复
举报
可以的
2020-10-13 14:48
0
回复
举报
千呼万唤始出来。
2020-10-13 14:27
0
回复
举报
可以做嵌入类软件吗
2020-10-13 13:38
0
回复
举报
没人评论?
2020-10-13 11:54
0
回复
举报
我用 https://parceljs.org/
2020-10-13 13:22
3
回复
举报
更多评论
8 评论
13 收藏
分享
返回顶部
顶部