XXHolic / segment

some notes
MIT License
28 stars 4 forks source link

Webpack Concept #57

Open XXHolic opened 5 years ago

XXHolic commented 5 years ago

目录

引子

打包工具有多种,实际中 webpack 接触的比较多,目前中文文档跟英文文档有些对不上,其中有些概念比较分散,对此进行集中的整理。

Dependency Graph

任何时候,一个文件依赖于另一个文件,webpack 把这种情况视为依赖关系。这让 webpack 可以接受非代码资源,例如图片或字体,并且可以将它们作为依赖提供给你的应用程序。

当 webpack 处理你的程序时,可能是从命令行或配置文件中定义的一系列模块开始。从入口文件开始,webpack 递归地构建一个依赖图(Dependency Graph),这个依赖图包含着应用程序所需的每个模块,并生成一个或多个 bundle ,可由浏览器加载。

Runtime

Manifest

Module、Bundle、Chunk

Module

Bundle

Chunk

Bundle Splitting

Code Splitting

指将代码分成不同的 bundles/chunks ,然后可以按需加载,而不是加载包含所有内容的单个 bundles

Tree Shaking

Output Filename

webpack 提供了一种使用称为 substitution (可替换模板字符串) 的方式,通过带括号字符串来模板化文件名。

模版 描述
[hash] 模块标识符的 hash。修改一个模块,其它模块生成的 hash 都会变。
[contenthash] 文件内容的 hash,每个都不相同。只有改变了内容的文件的 hash 才会变。
[chunkhash] chunk 内容的 hash。一个文件改变,其关联的文件 hash 也会变。
[name] 模块的名称
[id] 模块标识符
[query] 模块的 query,例如文件名 ? 后面的字符串
[function] 返回文件名称的方法
Back to top :arrow_up:

参考资料

:wastebasket: 以下是一些无关紧要的内容。 记得之前看《哆啦A梦:伴我同行》剧场版,里面出现了大雄一行人长大后的样子,里面的风格很中规中矩,最近看到另外一种风格的成长形象: 大雄 ![51-dx][url-local-dx] 静香 ![51-jx][url-local-jx]