Webpack 2 最终版本发布,聚焦文档内容提升

  • David Iffland
  • 刘嘉洋

2017 年 1 月 22 日

话题:JavaScript语言 & 开发

流行的 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

JavaScript语言 & 开发