@@ -11,6 +11,7 @@ translators:
1111 - QC-L
1212 - hanhan9449
1313 - lcxfs1991
14+ - Yucohny
1415---
1516
1617> es6 modules
@@ -21,9 +22,9 @@ translators:
2122
2223## 带表达式的 require 语句 $#require-with-expression$
2324
24- 如果你的 request 含有表达式(expressions),就会创建一个上下文(context),因为在编译时(compile time)并不清楚 ** 具体** 导入哪个模块 。
25+ 如果 require 中含有表达式,由于编译时并不清楚 ** 具体** 导入了哪个模块,因此会创建一个上下文 。
2526
26- 示例,考虑到我们有包含 ` .ejs ` 文件的如下目录结构:
27+ 参考接下来的例子:假设现在有包含 ` .ejs ` 文件的如下目录结构:
2728
2829``` bash
2930example_directory
@@ -36,24 +37,24 @@ example_directory
3637│ │ another.ejs
3738```
3839
39- 当台下的 ` require() ` 调用被评估解析 :
40+ 当下面的 ` require() ` 调用被评估解析时 :
4041
4142``` javascript
4243require (' ./template/' + name + ' .ejs' );
4344```
4445
45- webpack 解析 ` require() ` 调用,然后提取出如下一些信息:
46+ webpack 解析会 ` require() ` 调用,然后提取出如下一些信息:
4647
4748``` code
4849Directory: ./template
4950Regular expression: /^.*\.ejs$/
5051```
5152
52- ** context module **
53+ ** 上下文模块 **
5354
54- 会生成一个 context module(上下文模块) 。它包含 ** 目录下的所有模块 ** 的引用,如果一个 request 符合正则表达式,就能 require 进来。该 context module 包含一个 map(映射)对象,会把 requests 翻译成对应的模块 id。(译者注:request 参考 [ 概念术语 ] ( https://webpack.docschina.org/glossary/ ) )
55+ 并且会创建一个上下文模块 。它包含 ** 对该目录下所有模块 ** 的引用,可以使用匹配正则表达式的请求来导入这些模块。上下文模块中存在一个映射,该映射用于将请求转换为模块 ID。
5556
56- 示例 map(映射) :
57+ 示例映射 :
5758
5859``` json
5960{
@@ -63,18 +64,17 @@ Regular expression: /^.*\.ejs$/
6364}
6465```
6566
66- 此 context module 还包含一些访问这个 map 对象的 runtime 逻辑 。
67+ 此上下文模块还包含一些访问此映射对象的运行时逻辑 。
6768
68- 这意味着 webpack 能够支持动态地 require ,但会导致所有可能用到的模块都包含在 bundle 中。
69+ 这意味着 webpack 能够支持动态导入 ,但会导致所有可能用到的模块都包含在 bundle 中。
6970
7071## require.context $#requirecontext$
7172
72- 你还可以通过 ` require.context() ` 函数来创建自己的 context 。
73+ 可以通过 ` require.context() ` 函数实现自定义上下文 。
7374
74- 可以给这个函数传入三个参数:一个要搜索的目录,一个标记表示是否还搜索其子目录,
75- 以及一个匹配文件的正则表达式。
75+ 可以给这个函数传入三个参数:要搜索的目录、是否还搜索其子目录,匹配文件的正则表达式。
7676
77- Webpack 会在构建中解析代码中的 ` require.context() ` 。
77+ webpack 会在构建中解析代码中的 ` require.context() ` 。
7878
7979语法如下:
8080
@@ -91,24 +91,24 @@ require.context(
9191
9292``` javascript
9393require .context (' ./test' , false , / \. test\. js$ / );
94- // (创建出)一个 context,其中文件来自 test 目录,request 以 `.test.js` 结尾。
94+ // 创建一个上下文,其中文件直接来自 test 目录,require 包含的表达式以 `.test.js` 结尾。
9595```
9696
9797``` javascript
9898require .context (' ../' , true , / \. stories\. js$ / );
99- // (创建出)一个 context,其中所有文件都来自父文件夹及其所有子级文件夹,request 以 `.stories.js` 结尾。
99+ // 创建一个上下文,其中文件来自父文件夹及其所有子级文件夹,require 包含的表达式以 `.stories.js` 结尾。
100100```
101101
102- W> 传递给 ` require.context ` 的参数必须是字面量(literal) !
102+ W> 传递给 ` require.context ` 的参数必须是字面量!
103103
104- ### context module API $#context-module-api$
104+ ### 上下文模块 API $#context-module-api$
105105
106- 一个 context module 会导出一个( require)函数,此函数可以接收一个参数:request 。
106+ 上下文模块会导出一个接收一个参数 request 的 require 函数 。
107107
108- 此导出函数有三个属性:` resolve ` , ` keys ` , ` id ` 。
108+ 此导出函数有三个属性:` resolve ` , ` keys ` 与 ` id ` 。
109109
110110- ` resolve ` 是一个函数,它返回 request 被解析后得到的模块 id。
111- - ` keys ` 也是一个函数,它返回一个数组,由所有可能被此 context module 处理的请求(译者注:参考下面第二段代码中的 key)组成 。
111+ - ` keys ` 也是一个函数,它返回一个数组,由所有可能被此上下文模块处理的请求组成 。
112112
113113如果想引入一个文件夹下面的所有文件,或者引入能匹配一个正则表达式的所有文件,这个功能就会很有帮助,例如:
114114
@@ -128,7 +128,7 @@ function importAll(r) {
128128}
129129
130130importAll (require .context (' ../components/' , true , / \. js$ / ));
131- // 在构建时(build-time),所有被 require 的模块都会被填充到 cache 对象中 。
131+ // 构建时所有被导入的模块都会被填充到缓存对象中 。
132132```
133133
134- - ` id ` 是 context module 的模块 id. 它可能在你使用 ` module.hot.accept ` 时会用到。
134+ - ` id ` 是上下文模块的模块 id. 它可能在使用 ` module.hot.accept ` 时会用到。
0 commit comments