@@ -5,15 +5,16 @@ contributors:
55 - nveenjain
66 - EugeneHlushko
77 - benglynn
8+ - Yucohny
89translators :
910 - jsbugwang
1011---
1112
12- 在 webpack 构建系统中,能够通过插件进行定制,这赋予了无限的可能性。这使你可以创建自定义资源类型(asset type) ,执行唯一的构建修改(build modification) ,甚至可以使用中间件来增强 webpack 运行时。下面是在编写插件时非常有用一些 webpack 的功能。
13+ 在 webpack 构建系统中,能够通过插件进行定制,这赋予了无限的可能性。这使你可以创建自定义资源类型,执行唯一的构建修改,甚至可以使用中间件来增强 webpack 运行时。下面是在编写插件时非常有用一些 webpack 的功能。
1314
14- ## 检索遍历资源(asset) 、chunk、模块和依赖 $#exploring-assets-chunks-modules-and-dependencies$
15+ ## 检索遍历资源、chunk、模块和依赖 $#exploring-assets-chunks-modules-and-dependencies$
1516
16- 在执行完成编译的封存阶段(seal)之后,编译(compilation)的所有结构都可以遍历 。
17+ 在执行完成编译的封存阶段后,编译的所有结构都可以遍历 。
1718
1819``` javascript
1920class MyPlugin {
@@ -31,9 +32,9 @@ class MyPlugin {
3132 });
3233 });
3334
34- // 检索由 chunk 生成的每个资源(asset)文件名 :
35+ // 检索由 chunk 生成的每个资源文件名 :
3536 chunk .files .forEach ((filename ) => {
36- // 获取 chunk 生成的每个文件的资源源代码(asset source) :
37+ // 获取 chunk 生成的每个文件的资源源代码:
3738 var source = compilation .assets [filename].source ();
3839 });
3940 });
@@ -45,19 +46,19 @@ class MyPlugin {
4546module .exports = MyPlugin;
4647```
4748
48- - ` compilation.modules ` :编译后的(内置输入的)模块数组。每个模块管理控制来源代码库(source library)中的原始文件(raw file)的构建 。
49+ - ` compilation.modules ` :编译后的(内置输入的)模块数组。每个模块管理控制来源代码库中的原始文件的构建 。
4950
50- W> ** 弃用警告** : 数组函数依然可用。
51+ W> ** 弃用警告** : 数组函数依然可用。
5152
5253- ` module.fileDependencies ` :模块中引入的源文件路径构成的数组。这包括源 JavaScript 文件本身(例如:index.js)以及它所需的所有依赖资源文件(样式表、图像等)。审查依赖,可以用于查看一个模块有哪些从属的源文件。
5354- ` compilation.chunks ` :编译后的(构建输出的)chunk 集合。每个 chunk 所管理控制的最终渲染资源的组合。
5455
55- W> ** 弃用警告** : 数组函数依然可用。
56+ W> ** 弃用警告** : 数组函数依然可用。
5657
57- - ` chunk.getModules() ` :chunk 中引入的模块构成的数组。通过扩展(extension)可以审查每个模块的依赖 ,来查看哪些原始源文件被注入到 chunk 中。
58+ - ` chunk.getModules() ` :chunk 中引入的模块构成的数组。通过扩展可以审查每个模块的依赖 ,来查看哪些原始源文件被注入到 chunk 中。
5859- ` chunk.files ` :chunk 生成的输出文件名构成的集合。你可以从 ` compilation.assets ` 表中访问这些资源来源。
5960
60- ### 监听观察图(watch graph)的修改 $#monitoring-the-watch-graph$
61+ ### 监听观察图的修改 $#monitoring-the-watch-graph$
6162
6263运行 webpack 中间件时,每个编译包括一个 ` fileDependencies ` ` Set ` (正在观察哪些文件)和一个 ` fileTimestamps ` ` Map ` ,它将被观察的文件路径映射到时间戳。这可以用于检测编译中哪些文件已经修改:
6364
@@ -87,15 +88,15 @@ class MyPlugin {
8788module .exports = MyPlugin;
8889```
8990
90- 还可以将新文件路径添加到观察图(watch graph)中 ,以在这些文件修改时,接收消息和重新触发编译。只要将有效的文件路径推送到 ` compilation.fileDependencies ` ` Set ` 中,就可以将其添加到观察图中。
91+ 还可以将新文件路径添加到观察图中 ,以在这些文件修改时,接收消息和重新触发编译。只要将有效的文件路径推送到 ` compilation.fileDependencies ` ` Set ` 中,就可以将其添加到观察图中。
9192
92- T> The ` fileDependencies ` ` Set ` 在每次编译时都会重新构建,因此你的插件必须将自己要观察的依赖都推送到每次编译中,以使它们都处于观察中。
93+ T> ` fileDependencies ` ` Set ` 在每次编译时都会重新构建,因此你的插件必须将自己要观察的依赖都推送到每次编译中,以使它们都处于观察中。
9394
94- W> 从 webpack v5 开始, ` compilation.fileDependencies ` , ` compilation.contextDependencies ` 和 ` compilation.missingDependencies ` 是 ` Set ` 类型,而不是 ` Sortable Set ` ,因此不再是有序的了。
95+ W> 从 webpack v5 开始, ` compilation.fileDependencies ` , ` compilation.contextDependencies ` 和 ` compilation.missingDependencies ` 是 ` Set ` 类型,而不是 ` Sortable Set ` ,因此不再是有序的了。
9596
9697## 监听 chunk 的修改 $#changed-chunks$
9798
98- 类似于观察图(watch graph) ,监听 chunk(或者模块,就当前情况而言)的修改也很简单,通过在编译时跟踪它们的 hash 来实现 。
99+ 类似于观察图,监听 chunk(或者模块,就当前情况而言)的修改也很简单,通过在编译时跟踪它们的哈希来实现 。
99100
100101``` javascript
101102class MyPlugin {
0 commit comments