Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[webpack] 第2036天 webpack5有哪些新特性? #6002

Open
haizhilin2013 opened this issue Nov 10, 2024 · 2 comments
Open

[webpack] 第2036天 webpack5有哪些新特性? #6002

haizhilin2013 opened this issue Nov 10, 2024 · 2 comments
Labels

Comments

@haizhilin2013
Copy link
Collaborator

第2036天 webpack5有哪些新特性?

3+1官网

我也要出题

@white10205
Copy link

Webpack 5 是一个重大的版本更新,引入了许多新特性和改进。以下是一些主要的特性:

持久化缓存:Webpack 5 引入了持久化缓存,可以显著提高构建速度。缓存会被存储在硬盘上,并在下一次构建时重用,从而减少构建时间。

模块联邦:模块联邦(Module Federation)是一个新的特性,允许你将你的应用程序拆分成多个独立的模块,并在运行时动态加载这些模块。这可以用于微前端架构,或者将你的应用程序拆分成多个可重用的模块。

改进的 Tree Shaking:Webpack 5 对 Tree Shaking 进行了改进,可以更好地识别和移除未使用的代码。这可以减少打包后的文件大小,提高应用程序的性能。

改进的模块解析:Webpack 5 对模块解析进行了改进,可以更好地处理复杂的模块依赖关系。例如,它可以更好地处理动态导入和条件导入。

改进的 WebAssembly 支持:Webpack 5 对 WebAssembly 的支持进行了改进,可以更好地处理 WebAssembly 模块。

改进的压缩:Webpack 5 对压缩进行了改进,可以更好地处理复杂的压缩选项和插件。

改进的日志记录:Webpack 5 对日志记录进行了改进,可以更好地处理复杂的日志选项和插件。

改进的插件系统:Webpack 5 对插件系统进行了改进,可以更好地处理复杂的插件选项和插件。

改进的 Webpack CLI:Webpack 5 对 Webpack CLI 进行了改进,可以更好地处理复杂的 CLI 选项和插件。

改进的 Webpack Dev Server:Webpack 5 对 Webpack Dev Server 进行了改进,可以更好地处理复杂的 Dev Server 选项和插件

@Elylicery
Copy link

Webpack 5 引入了一系列改进和新特性:

  • 持久缓存:Webpack 5 的持久缓存功能能够显著提高构建速度。它使用文件系统缓存构建信息,允许在后续构建过程中重用这些信息。
  • 模块联合(Module Federation):这是一个允许不同项目之间共享和消费模块的新特性,特别适合微前端架构,能够在多个应用之间动态加载和共享代码。
  • 提升构建性能:Webpack 5 提升了性能,包括更快的构建速度和更少的资源使用。使用较新的数据结构和算法,以及更高效的代码拆分和 Tree Shaking。
  • 自动移除未使用的代码:利用增强的 Tree Shaking,Webpack 5 能更好地移除未使用的代码,从而减小打包后的文件体积。
  • 新的算法和数据结构:改进了哈希算法和其他数据结构,以便更快和更高效地处理大规模项目。
  • 内置支持 WebAssembly:Webpack 5 加强了对 WebAssembly 的支持,使得集成和处理 WebAssembly 模块更加直接和高效。
  • 去除 Node.js Polyfills:Webpack 5 默认不再为 Node.js 核心模块(如 buffer、crypto)提供 polyfills,减小打包体积,不过这也意味着开发者需要特别注意与 Node.js 核心模块相关的代码。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants