2016-08-29 14 views
0

aurelia.json файл имеет bundles.source Недвижимость. Похоже, что используется синтаксис glob, который поддерживает minimatch. Однако готовый шаблон au new содержит квадратные скобки вокруг некоторых шаблонов. Например.Что означают квадратные скобки в шаблоне источника связки?

"[**/*.js]" 

По моему опыту, квадратные скобки означают, диапазоны, такие как [a-z] отображение в abcdefg...wxyz. Это тоже то, что минимизирует.

> match = require("minimatch"); 
> match("q", "[a-z]"); 
true 

Что квадратные скобки означают для Аурелия CLI при обработке bundles.source собственности?

+0

Если бы мой ответ разрешил ваш вопрос, отметив его как «ответный». – Andrew

ответ

2

Скобки фактически определяют, отслеживаем ли мы зависимости от того, что находим, исходя из glob pattern. Двойной звездный шаблон (**/*) на самом деле определяет «поиск подпапок» часть шаблона.
Хотя это описано в разделе для настройки JSPM, оно также применимо для настройки с помощью CLI. documentation

Наша цель - создать набор только нашего кода приложения. Нам нужно как-то поручить поставщику не рекурсивно отслеживать зависимости. Угадай, что? [* .js] как мы это делаем.

[* .js] будет исключать зависимости каждого модуля, которые дает шаблон шара * .js. В приведенном выше случае это исключает aurelia-framework, aurelia-fetch-client и так далее.

Например, вы будете делать рисунок, как это: [src/**/*.js], вы просите каждый яваскрипт файла в папке и каждую подпапке src без отслеживания каких-либо зависимостей. Это означает, что если модуль A в src необходим модуль B в test, то модуль Bне будут включены, потому что мы указали в скобках, что мы не отслеживанию зависимостей.
Опять же, если вы взяли образец так: src/**/*.js, вы просите каждый яваскрипт файла в папке и каждую подпапке srcвключая любых зависимости этих файлов. Это означает, что если модуль A в src необходим модуль B в test, то модуль Bбудет включены, потому что мы являются включая зависимости.

Важно отметить, что именно так Aurelia определяет его зависимости. Хотя мы используем шаблоны glob и минимизируем, синтаксис скобки (насколько я знаю) не является частью этих библиотек, а скорее позволяет Aurelia быстро и легко определить, отслеживаем мы или нет.