Webpack 4正式发布,实现零配置启动

阅读 5143
收藏 81
2018-02-26
原文链接:mp.weixin.qq.com

Webpack 4 正式发布,代号为 Legato,包括多项重要更新,特别是增加了 0 配置特性,可以视为对前阵子大火的 Parcel 的有力回击。

你可以使用以下代码安装:

$> yarn add webpack --dev
//or
$> npm i webpack --save-dev

更新和改进包括:

  • 性能大幅提升,从官方团队收集的案例显示,性能有从 60%-98% 的提升。并且这是在未添加多核支持和持久化缓存的情况下,意味着性能还有提升空间。

  • 新增 mode 配置,可选择设置为 development 或 production,默认值为 production,它们的主要区别是 development 更重视构建时间,production 更重视尺寸。并且,有了 mode 之后,无需配置即可启动,实现了零配置。

  • 使用 optimize.splitChunks 和 optimization.runtimeChunk 替代 CommonsChunkPlugin。现在开发者可以更简单的实现代码分割和提取公共代码等操作。

  • 支持 WebAssembly,现在可以导入入 WebAssembly 支持的其它语言文件。

  • 支持 CommonJS, AMD, ESM 等模块系统,可以直接导入.mjs 扩展名的模块文件,对 wasm 模块也有实验性的支持。

众多主流前端框架的 CLI 工具将积极跟进这一升级,数周内将发布的 Angular 新版本将直接集成 Webpack 4.

需要注意的是,此次升级对于诸多 plugin 和 loader 来说是破坏性升级,之前官方团队给生态里的伙伴留了一些时间让他们适配此次升级,不过有些未能做到,如 HtmlWebpackPlugin 暂时未能同步升级,Webpack 团队为它创建了一个 fork 来使其支持 4.0 版本,使用方法:

$> yarn add html-webpack-plugin@webpack-contrib/html-webpack-plugin

其它更多更新细节见发布说明:

https://github.com/webpack/webpack/releases/tag/v4.0.0

Webpack 团队还为这些新特性撰写了一系列介绍文章,可前往阅读:

https://medium.com/webpack/webpack-4-mode-and-optimization-5423a6bc597a

https://medium.com/webpack/webpack-4-code-splitting-chunk-graph-and-the-splitchunks-optimization-be739a861366

https://medium.com/webpack/webpack-4-migration-guide-for-plugins-loaders-20a79b927202

评论