【每日一题NO.88】webpack的runtime和manifest

前端印记

共 851字,需浏览 2分钟

 ·

2021-11-24 10:24

Runtime && Manifest

主要是管理所有模块的交互。

Runtime

Runtime 主要是指在浏览器运行时,webpack 用来连接模块化的应用程序的所有代码。

  • 包含:在模块交互时,连接模块所需的加载和解析逻辑。
  • 包括:浏览器中的已加载模块的连接,以及懒加载模块的执行逻辑。

Manifest

在代码经过编译打包之后,形成如 index.html 文件、一些 bundle 和各种资源加载到浏览器中,你的src 目录的文件结构都已经不再存在,那 webpack 如何管理所有模块之间的交互呢?这就是 manifest 数据的由来。

当编译器开始执行,解析和映射应用程序时,它会保留所有模块的详细要点。

这个数据集合成为 manifest,当完成打包并发送到浏览器时,会在运行时通过 manifest 来解析加载模块。

无论选择哪种模块语法,那些 importrequire 语句都已经转化为__webpack_require__方法,此方法指向模块标识符。

通过使用 manifest 中的数据,runtime 将能够查询模块标识符,检索背后对应的模块。

总结

runtime:根据 manifest 数据管理模块代码。主要是指模块交互时,连接模块所需的加载和解析逻辑。包括:已经加载到浏览器中的连接模块逻辑,以及尚未加载模块的延迟加载逻辑

manifest:记录在打包过程中,各个模块之间的信息以及关联关系。


所有《每日一题》的 知识大纲索引脑图 整理在此:https://www.yuque.com/dfe_evernote/interview/everyday
你也可以点击文末的 “阅读原文” 快速跳转


用一个十年拉扯自己长大,
那时未来已达,星辰开花。


浏览 138
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报