Webpack 一些概念
2021-05-09 11:28
标签:tin tps 修改 包含 优化 类型 pack 不同 origin 打包工具有多种,实际中 webpack 接触的比较多,目前中文文档跟英文文档有些对不上,其中有些概念比较分散,对此进行集中的整理。 任何时候,一个文件依赖于另一个文件,webpack 把这种情况视为依赖关系。这让 webpack 可以接受非代码资源,例如图片或字体,并且可以将它们作为依赖提供给你的应用程序。 当 webpack 处理你的程序时,可能是从命令行或配置文件中定义的一系列模块开始。从入口文件开始,webpack 递归地构建一个依赖图(Dependency Graph),这个依赖图包含着应用程序所需的每个模块,并生成一个或多个 指将代码分成不同的 webpack 提供了一种使用称为 substitution (可替换模板字符串) 的方式,通过带括号字符串来模板化文件名。 Webpack 一些概念 标签:tin tps 修改 包含 优化 类型 pack 不同 origin 原文地址:https://www.cnblogs.com/thyshare/p/12074830.html 目录
引子
Dependency Graph
bundle
,可由浏览器加载。 Runtime
runtime
和 manifest
数据,基本上是在浏览器运行时,webpack 用来连接模块化应用程序所需的所有代码。 Manifest
manifest
作为名词时,中文意思是:(船或飞机的)货单,旅客名单manifest
”。runtime
会通过 manifest
来解析和加载模块。import
或 require
语句现在都已经转换为 __webpack_require__
方法,此方法指向模块标识符(module identifier)。 Module、Bundle、Chunk
Module
Bundle
Chunk
bundles
由 chunks
组成,其中有多种类型(例如入口)。chunks
与输出 bundles
直接对应,但是,有些配置不产生一对一关系。 Bundle Splitting
bundle
。 Code Splitting
bundles/chunks
,然后可以按需加载,而不是加载包含所有内容的单个 bundles
。 Tree Shaking
Output Filename
模版
描述
[hash]
模块标识符的 hash。修改一个模块,其它模块生成的 hash 都会变。
[contenthash]
文件内容的 hash,每个都不相同。只有改变了内容的文件的 hash 才会变。
[chunkhash]
chunk 内容的 hash。一个文件改变,其关联的文件 hash 也会变。
[name]
模块的名称
[id]
模块标识符
[query]
模块的 query,例如文件名 ? 后面的字符串
[function]
返回文件名称的方法
参考资料