词汇表

此索引列出了整个 webpack 生态系统中使用的常见术语。

A

  • 资产: 这是一个通用术语,用于指网站和其他应用程序中通常使用的图像、字体、媒体和任何其他类型的文件。这些通常最终作为 输出 中的单个文件,但也可以通过诸如 style-loaderurl-loader 之类的东西内联。

B

  • 捆绑包: 由多个不同的模块生成,捆绑包包含已完成加载和编译过程的源文件的最终版本。
  • 捆绑包拆分: 此过程提供了一种优化构建的方法,允许 webpack 为单个应用程序生成多个捆绑包。因此,每个捆绑包都可以与影响其他捆绑包的更改隔离,从而减少需要重新发布的代码量,因此也减少了客户端需要重新下载的代码量,并利用了浏览器缓存。

C

  • : 这是 webpack 特定的术语,用于在内部管理捆绑过程。捆绑包由块组成,块有几种类型(例如入口和子块)。通常, 直接对应于输出捆绑包,但是,某些配置不会产生一对一的关系。
  • 代码分割: 指将代码分成多个捆绑包/块,然后可以按需加载,而不是加载包含所有内容的单个捆绑包。
  • 配置: webpack 配置文件是一个普通的 JavaScript 文件,它导出一个对象。然后 webpack 会根据定义的属性处理此对象。

D

  • 依赖图: 只要一个文件依赖于另一个文件,webpack 就将其视为依赖。从一个或多个入口点开始,webpack 递归地构建一个依赖图,其中包含应用程序所需的所有模块/资产。

E

  • 入口点: 入口点告诉 webpack 从哪里开始,并遵循依赖关系图以了解要捆绑的内容。您可以将应用程序的入口点视为要捆绑内容的上下文根

H

  • 热模块替换 (HMR): 一个在应用程序运行时交换、添加或删除模块的过程,而无需完全重新加载页面。

L

  • 加载器: 对模块源代码进行的转换。它们允许您在require()或“加载”文件时预处理文件。类似于“任务运行器”。
  • 延迟加载: 延迟加载应用程序部分(块)的过程。换句话说,只有在我们真正需要它们时才加载它们。

M

  • 模块: 提供比完整程序更小表面积的离散功能块。编写良好的模块提供可靠的抽象和封装边界,构成一致的设计和明确的目的。
  • 模块解析: 模块可以作为另一个模块的依赖项被要求,解析器是一个库,它通过其绝对路径帮助定位模块。在resolve.modules中指定的目录中搜索模块。
  • 清单: 运行时将使用它来解析和加载模块,一旦它们被捆绑并发送到浏览器。

O

  • 输出: 指定将编译后的文件输出到磁盘的位置选项。

    请注意,虽然可以有多个入口点,但只指定了一个输出配置。

P

  • 插件: 一个 JavaScript 对象,具有 apply 属性。此 apply 属性由 webpack 编译器调用,可以访问整个编译生命周期。这些包通常会以某种方式扩展编译功能。

R

  • 请求: 指的是 require/import 语句中的表达式,例如 require("./template/" + name + ".ejs"),请求为 "./template/" + name + ".ejs"

S

  • 垫片: 并非所有 JS 文件都可以直接与 webpack 一起使用。该文件可能采用不支持的模块格式,甚至根本不采用任何模块格式。这就是 垫片 发挥作用的地方。

T

  • 目标: 用户配置的部署目标 列出此处,用于为特定环境(如浏览器、NodeJS 或 Electron)进行编译。
  • 摇树优化: 未使用/多余代码消除,或者更准确地说,是实时代码导入。像 webpack 这样的编译器将通过分析各种 import 语句和导入代码的使用情况来确定哪些依赖项部分实际上正在使用,从而删除未使用的“树”部分。

V

  • 供应商入口点: 从 app.jsvendors.js 开始创建依赖关系图。这些图完全独立,彼此独立,以便利用 CommonsChunkPlugin 并将任何供应商引用从您的应用程序包中提取到您的供应商包中。有助于实现 webpack 中称为 长期供应商缓存 的常见模式。

W

  • webpack: 用于现代 JavaScript 应用程序的高度可配置的 模块 捆绑器。

7 位贡献者

kryptokinghtrouzbeh84bebrawskipjackbyzykpranshuchittorajamesgeorge007