词汇表

此索引列出了整个 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

  • 插件: 一个具有 apply 属性的 JavaScript 对象。这个 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