在Webpack 5中可以期待什么?

栏目: JavaScript · 发布时间: 5年前

内容简介:昨天,Webpack背后的团队分享了我们将在即将发布的版本Webpack 5中看到的所有更新。这个版本通过持久缓存提高了构建性能,引入了一个新的命名块ID算法等等。对于Webpack 5,支持的最小Node.js版本已从6更新为8。由于此版本是一个主要版本,它将带来重大变化,用户可能希望某些插件无法正常工作。

昨天,Webpack背后的团队分享了我们将在即将发布的版本Webpack 5中看到的所有更新。这个版本通过持久缓存提高了构建性能,引入了一个新的命名块ID算法等等。对于Webpack 5,支持的最小Node.js版本已从6更新为8。

由于此版本是一个主要版本,它将带来重大变化,用户可能希望某些插件无法正常工作。

在Webpack 5中可以期待什么?

Webpack 5中的预期功能

删除了Webpack 4已弃用的功能

此版本中已删除Webpack 4中已弃用的所有功能。因此,迁移到Webpack 5时,请确保您的Webpack构建不显示任何弃用警告。此外,该团队还删除了现在必须传递选项对象的IgnorePlugin和BannerPlugin。

删除了自动Node.js polyfill

Webpack 4之前的所有版本都为大多数Node.js核心模块提供了polyfill。一旦模块使用任何核心模块,这些都会自动应用。使用polyfill可以很容易地使用为Node.js编写的模块,但是这也增加了bundle的大小,因为大型模块被添加到bundle中。为了阻止这种情况,Webpack 5会自动删除此填充,并专注于前端兼容模块。

确定性块和模块ID的算法

Webpack 5带有用于长期缓存的新算法。默认情况下,这些在生产模式下启用,并具有以下配置行:

chunkIds: “deterministic”, moduleIds: “deterministic”

这些算法以确定的方式将短数字ID分配给模块和块。建议您使用chunkIds和moduleIds的默认值。您还可以选择使用旧的默认值chunkIds:“size”,moduleIds:“size”,这将生成较小的包,但更频繁地使它们无效以进行缓存。

命名块ID算法

引入了一种命名的块ID算法,该算法在开发模式下默认启用。它为块和文件名提供了人类可读的名称,而不是旧的数字名称。该算法确定块的内容的块ID。因此,用户不再需要使用import(/ * webpackChunkName:“name”* /“module”)进行调试。要选择退出此功能,您可以将配置更改为chunkIds:“natural”。

编译器空闲并关闭

从Webpack 5开始,编译器需要在使用后关闭。现在,编译器进入和离开空闲状态并为这些状态挂钩。关闭编译后,所有剩余的工作应尽快完成。然后,回调将表示结束已完成。

您可以从 Webpack存储库 中读取整个更改日志。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-02/156782.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Automate This

Automate This

Christopher Steiner / Portfolio / 2013-8-9 / USD 25.95

"The rousing story of the last gasp of human agency and how today's best and brightest minds are endeavoring to put an end to it." It used to be that to diagnose an illness, interpret legal docume......一起来看看 《Automate This》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具