知海

术语表

webpackjsorg-main术语表

title: 术语表
sort: 3
contributors:

  • kryptokinght
  • rouzbeh84
  • bebraw
  • skipjack
  • byzyk
  • pranshuchittora
  • jamesgeorge007

本索引列出了 webpack 生态系统中常用的术语。

A

  • Asset:这是对网站和其他应用中通常使用的图片、字体、媒体以及任何其他类型文件的统称。这些文件通常最终会成为输出中的独立文件,但也可以通过 style-loaderurl-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

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.jsvendors.js 开始创建依赖图。这两个图完全独立,互不影响,以支持 CommonsChunkPlugin 并从应用 bundle 中将 vendor 引用提取到 vendor bundle 中。这有助于实现 webpack 中一种常见的模式,即长期 vendor 缓存

W

  • webpack:一个高度可配置的现代 JavaScript 应用模块打包器。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。