Команда build
производит сборку приложения.
Опции:
Задает базовый путь. По умолчанию это локация файла конфигурации (basis.config
) или текущая папка, если конфигурационный файл не найден или не используется (указан флаг --no-config
).
Базовый путь также используется для разрешения абсолютных путей в приложении. Другими словами, он ассоцируется с корнем сайта. Приложение не может ссылаться на файлы, которые располагаются не в рамках базового пути.
Предположим, что базовый путь
/foo/bar/baz
. Если в приложении встретится, например,basis.require('/path/to/file.ext')
, то такой путь будет преобразован в/foo/bar/baz/path/to/file.ext
. Попытки "всплыть" выше игнорируются, например, дляbasis.require('/../../path/to/file.ext')
будет по-прежнему получен путь/foo/bar/baz/path/to/file.ext
.
Указывает путь к индексному файлу. По умолчанию это index.html
в базовой папке.
Указывает папку, где должен быть расположен результат сборки. По умолчанию это build
в базовой папке.
Определяет, в каком виде необходимо получить результат. Возможны следующие варианты:
fs
(по умолчанию) – результат в виде множества файлов, которые записываются на диск (файловую систему)output-graph
– генерирует выходной граф файлов в формате.dot
, который сохраняется в файлoutput-graph.dot
none
– не производить никакого результата; может использоваться для определения успешности выполнения основного процесса сборки, когда сам результат не нужен
Включает режим сборки с сжатием результата. Является сокращением для --js-cut-dev --js-pack --css-pack
. Следующие записи эквивалентны:
> basis build -p
> basis build --pack
> basis build --js-cut-dev --js-pack --css-pack
По умолчанию лог действий сборщика раскрашивается для лучшей читаемости. Это происходит только там, где поддерживаются ansi
коды, – главным образом, при выводе в терминале или консоли (tty
). Поддержка определяется автоматически. Опция --no-color
позволяет принудительно запретить использовать цвета.
По умолчанию выводится только основная информация о процессе сборки. Для вывода детальной информации используется флаг --verbose
. Подробная информация позволяет получить полную картину того, что и как делает сборщик.
По умолчанию в информации о сборке выводится лишь общее количество предупреждающих сообщений (warning).
> basis build
Build with basisjs-tools@1.3.17 (65fa05dda9)
Index file: ./index.html
Output: ./build
...
Warnings: 1
Build done in 1.033s
Если указать опцию --warnings
, будет выведен и сам список предупреждений.
> basis build --warnings
Build with basisjs-tools@1.3.17 (65fa05dda9)
Index file: ./index.html
Output: ./build
...
Warnings: 1
template/foo.css
* File `template/foo.css` not found (/abs/path/to/template/foo.css)
Build done in 1.066s
Включает режим сборки с сжатием CSS
. Для сжатия используется библиотека csso (она также используется для получения AST
, которое анализируется и трансформируется).
Стили сжимаются как в файлах, так и в атрибутах style
(в html
файлах и шаблонах).
Указывает сборщику, что следует заменять в стилях ссылки на файлы, равные или меньшие max-size
, на Data URI, то есть их base64
представление. Предположим, что для max-size
задано значение 4096
(то есть basis build -i 4096
) и размер foo.png
меньше этого значения, тогда файл стилей:
.foo {
background: url(foo.png);
}
примет следующий вид:
.foo {
background: url(data:image/png;base64,...);
}
Включает режим сборки с сокращением имен классов. В этом случае сборщик заменяет имена в css
, html
и шаблонах (файлах с расширением .tmpl
) на более короткие. Обычно это одно- или двухбуквенные имена. Например, следующий файл стилей:
.foo {}
.bar {}
.foo .bar {}
с включеной опцией примет вид:
.a {}
.b {}
.a .b {}
Данная трансформация является небезопасной и может применяться, если есть гарантия, что имена классов не используются, например, в JavaScript
коде.
Указывает сборщику, что следует вырезать код, помеченный как отладочный. Существуют два типа специальных отметок: ;;;
и /** @cut ... */
. Такие метки и все, что находится правее них до конца строки, вырезаются. Например, код:
// example
;;; console.log('debug');
/** @cut */ console.log('debug');
/** @cut some comment */ console.log('debug');
console.log('foo');
с включеной опцией примет вид:
// example
console.log('foo');
По умолчанию google-closure-compiler --charset UTF-8
.
Указывает сборщику, что следует выносить культуры во внешние ресурсы. По умолчанию все культуры включаются в основной JavaScript
файл результата сборки в составе словарей. Для мультиязычных приложений это может быть не оптимально и пропорционально увеличивает размер основного файла сборки при добавлении каждой новой культуры. Данная опция включает режим, при котором культуры извлекаются из словарей, сохраняются во внешних файлах и загружаются по требованию (при переключении культуры). Необязательный параметр задает префикс, который будет использоваться для кеширования файлов культур в локальном хранилище браузера (по умолчанию l10n
).
Задает пакет культуры, включаемый в основной JavaScript
файл результата сборки для ускорения первичной загрузки приложения (по умолчанию en-US
). Используется только в режиме сборки с пакетами культур (флаг --l10n-package
).