【Webpack】webpack scope hoisting

scope hoisting 是 webpack 的内置优化,它是针对模块的优化,在生产环境打包时会自动开启。

在未开启 scope hoisting 时,webpack 会将每个模块的代码放置在一个独立的函数环境中,这样是为了保证模块的作用域互不干扰。

而 scope hoisting 的作用恰恰相反,是把多个模块的代码合并到一个函数环境中执行。在这一过程中 webpack 会按照顺序正确的合并模块代码,同时对涉及的标识符做适当处理以避免重名。

这样做的好处是减少了函数调用,对运行效率有一定提升,同时也降低了打包体积。

但 scope hoisting 的启用是有前提的,如果遇到某些模块多次被其他模块引用,或者使用了动态导入的模块,或者是非 ESM 的模块,都不会有 scope hoisting。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你好!对于Webpack 5的教程,我可以为您提供一些基本信息和指导。Webpack是一个模块打包工具,它可以将各种资源(例如JavaScript、CSS、图片等)打包成一个或多个文件,以优化网页加载速度。 以下是Webpack 5的一些重要特性和教程资源: 1. 模块联邦(Module Federation):Webpack 5引入了模块联邦的功能,允许多个独立的Webpack构建之间共享模块。这使得在大型项目中更容易实现微服务架构。您可以查阅Webpack官方文档中关于模块联邦的介绍和示例。 2. 改进的性能:Webpack 5在构建速度和输出文件大小方面进行了一些优化。它引入了持久缓存(persistent caching)功能,提高了构建速度。另外,Webpack 5还通过使用更先进的算法(如Tree Shaking、Scope Hoisting等)来减小输出文件的大小。 3. 新的插件系统:Webpack 5引入了一种新的插件系统,使得编写和使用插件更加简单和灵活。您可以查阅Webpack官方文档中关于插件系统的说明和示例。 对于Webpack 5的更详细教程和示例代码,您可以参考以下资源: - Webpack官方文档:Webpack官方文档提供了全面的关于Webpack 5的指南和示例。您可以访问官方文档并查找与您需求相关的章节和示例代码。 - CSDN:在CSDN上有很多Webpack 5的教程和示例代码,您可以通过搜索“webpack5教程”来查找相关资源。 - GitHub:许多开发者在GitHub上分享了关于Webpack 5的教程和示例项目。您可以在GitHub上搜索“webpack5 tutorial”来查找相关资源。 希望这些信息能够帮助到您!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小秀_heo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值