包源模式中的方括号是什么意思?
What do the square brackets mean in a bundle source pattern?
aurelia.json
文件有一个 bundles.source
属性。它似乎使用 minimatch 支持的 glob 语法。不过,开箱即用的 au new
模板包含一些模式周围的方括号。例如。
"[**/*.js]"
根据我的经验,方括号表示范围,例如 [a-z]
映射到 abcdefg...wxyz
。这也是minimatch所推崇的。
> match = require("minimatch");
> match("q", "[a-z]");
true
在处理 bundles.source
属性 时,方括号对 Aurelia CLI 意味着什么?
括号实际上定义了我们是否根据 glob pattern 追踪我们发现的内容的依赖关系。双星模式 (**/*
) 实际上是定义模式的 “搜索子文件夹” 部分。
虽然它在配置 JSPM 部分中有记录,但它也适用于使用 CLI 进行配置。 documentation
Our goal is to create a bundle of our application code only. We have to somehow instruct the bundler not to recursively trace the dependencies. Guess what? [*.js] is how we do it.
[*.js] will exclude the dependencies of each module that the glob pattern *.js yields. In the above case it will exclude aurelia-framework, aurelia-fetch-client and so on.
例如,您将创建这样的模式:[src/**/*.js]
,您要求文件夹中的每个 javascript 文件和每个子文件- src
的文件夹,不跟踪任何依赖项。这意味着如果 src
中的模块 A
需要 test
中的模块 B
,那么模块 B
不会 被包括在内是因为我们用括号表示我们不是跟踪依赖关系。
同样,如果您采用这样的模式:src/**/*.js
,您将要求文件夹中的每个 javascript 文件和 [=12= 的每个子文件夹] 包括 这些文件的任何依赖项。这意味着如果 src
中的模块 A
需要 test
中的模块 B
,那么模块 B
将被 包含因为我们包括依赖项。
请务必注意,这就是 Aurelia 定义其依赖项的方式。虽然我们使用 glob 模式和最小匹配,但括号语法(据我所知)不是这些库的一部分,而是 Aurelia 快速轻松地定义我们是否正在跟踪的一种方式。
aurelia.json
文件有一个 bundles.source
属性。它似乎使用 minimatch 支持的 glob 语法。不过,开箱即用的 au new
模板包含一些模式周围的方括号。例如。
"[**/*.js]"
根据我的经验,方括号表示范围,例如 [a-z]
映射到 abcdefg...wxyz
。这也是minimatch所推崇的。
> match = require("minimatch");
> match("q", "[a-z]");
true
在处理 bundles.source
属性 时,方括号对 Aurelia CLI 意味着什么?
括号实际上定义了我们是否根据 glob pattern 追踪我们发现的内容的依赖关系。双星模式 (**/*
) 实际上是定义模式的 “搜索子文件夹” 部分。
虽然它在配置 JSPM 部分中有记录,但它也适用于使用 CLI 进行配置。 documentation
Our goal is to create a bundle of our application code only. We have to somehow instruct the bundler not to recursively trace the dependencies. Guess what? [*.js] is how we do it.
[*.js] will exclude the dependencies of each module that the glob pattern *.js yields. In the above case it will exclude aurelia-framework, aurelia-fetch-client and so on.
例如,您将创建这样的模式:[src/**/*.js]
,您要求文件夹中的每个 javascript 文件和每个子文件- src
的文件夹,不跟踪任何依赖项。这意味着如果 src
中的模块 A
需要 test
中的模块 B
,那么模块 B
不会 被包括在内是因为我们用括号表示我们不是跟踪依赖关系。
同样,如果您采用这样的模式:src/**/*.js
,您将要求文件夹中的每个 javascript 文件和 [=12= 的每个子文件夹] 包括 这些文件的任何依赖项。这意味着如果 src
中的模块 A
需要 test
中的模块 B
,那么模块 B
将被 包含因为我们包括依赖项。
请务必注意,这就是 Aurelia 定义其依赖项的方式。虽然我们使用 glob 模式和最小匹配,但括号语法(据我所知)不是这些库的一部分,而是 Aurelia 快速轻松地定义我们是否正在跟踪的一种方式。