在Webpack 5中可以期待什么?

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

内容简介:昨天,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


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

查看所有标签

猜你喜欢:

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

Google御用網頁語言Node.js

Google御用網頁語言Node.js

郭家寶 / 佳魁資訊 / 2013-4-26 / NT 490

這是一本 Node.js 的入門教學,寫給想要學習 Node.js,但沒有任何系統的經驗的開發者。如果你聽說過 Node.js,並被它許多神奇的特性吸引,本書就是為你準備的。 透過閱讀本書,你可以對 Node.js 有全面的認識,學會如何用 Node.js 程式設計,了解事件驅動、非同步式 I/O 的程式設計模式,同時還可以了解一些使用JavaScript 進行函數式程式設計的方法。 ......一起来看看 《Google御用網頁語言Node.js》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码