术语表
webpackjsorg-main术语表
title: 术语表
sort: 3
contributors:
- kryptokinght
- rouzbeh84
- bebraw
- skipjack
- byzyk
- pranshuchittora
- jamesgeorge007
本索引列出了 webpack 生态系统中常用的术语。
A
- Asset:这是对网站和其他应用中通常使用的图片、字体、媒体以及任何其他类型文件的统称。这些文件通常最终会成为输出中的独立文件,但也可以通过 style-loader 或 url-loader 等方式内联。
B
- Bundle:由多个不同的模块生成,bundle 包含已经经历加载和编译过程的源文件的最终版本。
- Bundle Splitting:该过程提供了一种优化构建的方式,允许 webpack 为单个应用生成多个 bundle。因此,每个 bundle 可以隔离其他 bundle 变更所产生的影响,减少需要重新发布、从而让客户端重新下载的代码量,并利用浏览器缓存。
C
- Chunk:这个 webpack 专用术语在内部用于管理打包过程。Bundle 由 chunk 组成,chunk 有几种类型(例如 entry 和 child)。通常,chunks 与输出 bundles 直接对应,但有些配置并不会产生一一对应的关系。
- Code Splitting:指将你的代码分割成各种 bundle/chunk,然后你可以按需加载,而不是加载一个包含所有内容的单一 bundle。
- Configuration:webpack 配置文件是一个纯 JavaScript 文件,它导出一个对象。webpack 会根据该对象定义的各种属性来处理它。
D
- Dependency Graph:任何时间一个文件依赖于另一个文件时,webpack 都会将其视为_依赖_。从一个或多个入口点开始,webpack 递归地构建一个依赖图,其中包含你的应用所需的每个模块/资源。
E
- Entry Point:入口点告诉 webpack 从哪里开始,并沿着依赖图跟踪以知道要打包什么。你可以将应用的入口点视为你想要打包的内容的上下文根。
H
- Hot Module Replacement (HMR):一种在应用运行期间交换、添加或删除
模块而无需完全刷新页面的过程。
L
- Loaders:应用于模块源代码的转换。它们允许你在
require()或“加载”文件时对文件进行预处理。类似于“任务运行器”(task-runner)。 - Lazy Loading:一种懒加载应用部分(chunk)的过程。换句话说,只有在真正需要时才加载它们。
M
- Module:离散的功能块,其表面积比完整程序小。编写良好的模块提供坚实的抽象和封装边界,构成一致的设计和明确的目的。
- Module Resolution:一个模块可以作为另一个模块的依赖被引入,解析器是一个帮助通过模块绝对路径定位模块的库。模块会在
resolve.modules指定的所有目录中查找。 - Manifest:运行时将使用它来解析和加载模块,一旦这些模块被打包并发送到浏览器。
O
- Output:指定将编译文件输出到磁盘位置的选项。
注意,虽然可以有多个入口点,但只能指定一个 output 配置。
P
- Plugin:一个具有
apply属性的 JavaScript 对象。这个apply属性会由 webpack 编译器调用,从而访问整个编译生命周期。这些包通常以某种方式扩展编译功能。
R
- Request:指 require/import 语句中的表达式,例如 require("./template/" + name + ".ejs") 中,request 是 "./template/" + name + ".ejs"。
S
- Shimming:并非所有 JS 文件都能直接用于 webpack。该文件可能采用不受支持的模块格式,甚至可能根本不是任何模块格式。这时就需要使用
shimming。
T
- Target:用户配置的部署目标(在此列出),用于针对特定环境(如浏览器、NodeJS 或 Electron)进行编译。
- Tree Shaking:消除未使用/多余的代码,更准确地说,是导入实际使用的代码。像 webpack 这样的编译器通过分析各种
import语句以及导入代码的使用方式,来确定依赖中实际被使用到的部分,并删除“树”中未使用的部分。
V
- Vendor Entry Point:分别从
app.js和vendors.js开始创建依赖图。这两个图完全独立,互不影响,以支持CommonsChunkPlugin并从应用 bundle 中将 vendor 引用提取到 vendor bundle 中。这有助于实现 webpack 中一种常见的模式,即长期 vendor 缓存。
W
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
