流行的 JavaScript 模块和资源打包工具 webpack 2 最终版本已经发布,该版本可以实现对 ES2015 的本地支持,并大大改善了文档内容。但是,新版本是否能显著改进构建时间和文件大小还有待观察。
Webpack 2(官方版本 2.2)中的许多变更都旨在让它的使用变得更加简单。最受欢迎的升级内容之一就是新的文档指南。比如说,版本2 的文档中有专门用于解释核心概念(如加载器、插件和配置)的部分,解释的比 1.x 文档更加详细,这可以帮助减少新手开始使用的时间。团队现在非常重视文档的编写。
Webpack 文档协调员 Juho Vepsäläinen 表示,新的文档在版本 2 中起到至关重要的作用:
如果你对 webpack 已经有了了解,那版本 1.0 的文档对你会有帮助。但如果你刚开始了解这个工具,这份文档对你来说并不是很好上手的材料。为了让 webpack 变得更加可用,我们决定重新编写文档。
对于正在使用 1.x 版本并想转而用 2.x 版本的开发者,可以参考迁移指南。在新版本中对于一些配置术语进行了更改,开发者可以更加简单地理解这些术语。举个例子来说,顶级module.loaders 部分变更为 module.rules。由于配置中加载器中还有加载器,1.x 版本可能会让人感到困惑。新版本的文档解释得就非常清晰,加载器作为规则的一部分进行介绍。
原来链接加载器的方法繁琐且复杂:
loader: "style-loader!css-loader!less-loader"
新的方法将其分为一个数组,阅读变得更为方便:
use: [ "style-loader", "css-loader", "less-loader" ]
由于 webpack 2 支持开箱即用的 ES2015 模块,所以它默认情况下支持 tree shaking 代码优化技术。tree shaking 从目标包中删除了未使用的代码,以减小其大小。不幸的是,由于默认情况下浏览器还不支持 ES2015 模块,所以目前大多 JavaScript 生态系统都会将代码编译到 CommonJS 来去除其影响。Swizec Teller称目前的改进是比较小的:
然而,我们必须等待整个生态系统都能赶上进度。大多数库都会随着将 ES6 模块编译为 ES6 一起分布,所以在现实的情况下,改善程度仅仅提升了 4%。由于 Webpack 2 的发布,这一点必将提升。
现在还不清楚版本 2 是否变快了很多。Brett Uglow分享了他使用webpack 2 的速度体验,但他对结果比较失望。Webpack 核心团队成员Sean Larkin说他们在临近开发结束的时候改变了webpack 的构建方式,“它在性能方面获得了显著的提升”。
展望未来,团队邀请社区参与到功能票选中来,帮助指导并确定未来发展的优先顺序。当发出npm install webpack 命令时,版本2.2 即将成为安装的默认版本。
查看英文原文: Webpack 2 Finalized with Focus on Improved Documentation
评论