Дата последнего изменения: 29.12.2022
@bitrix/cli - это набор консольных команд:
bitrix build
для сборки и
транспиляции
Транспиляция — это перевод исходного кода с одного языка на другой.
ES6+ кода в кросс-браузерный ES5;bitrix test
для запуска
Mocha
Mocha (Мока) — JavaScript тест-фреймворк, который можно запускать как на node.js, так и в браузере, удобен для асинхронного тестирования. Тесты Mocha запускаются серийно, позволяя гибко и точно создавать отчеты.
bitrix create
для быстрого создания
расширения
Расширение (экстеншн, extension) — способ организации JS и CSS кода в продукте.
$ npm install -g @bitrix/cli
$ yarn global add @bitrix/cli
module.exports = { input: './src/app.js', output: './dist/app.bundle.js', };
module.exports = { // Файл, для которого необходимо выполнить сборку. // Обычно это './src/<extension>.js // Необходимо указать относительный путь input: string, // Путь к бандлу, который будет создан в результате сборки // Обычно это ./dist/<extension_name>.bundle.js // Необходимо указать относительный путь output: string, // Неймспейс, в который будут добавлены все экспорты из файла указанного в input // Например 'BX.Main.Filter' namespace: string, // Списки файлов для принудительного объединения. // Файлы будут объединены без проверок на дублирование кода. // sourcemap's объединяются автоматически // Необходимо указать относительные пути concat: { js: Array<string>, css: Array<string>, }, // Разрешает или запрещает сборщику модифицировать config.php // По умолчанию true (разрешено) adjustConfigPhp: boolean, // Разрешает или запрещает сборщику удалять неиспользуемый код. // По умолчанию true (включено). treeshake: boolean, // Разрешает или запрещает пересобирать бандлы // если сборка запущена не в корне текущего расширения // По умолчанию `false` (разрешено) 'protected': boolean, plugins: { // Переопределяет параметры Babel. // Можно указать собственные параметры Babel // https://babeljs.io/docs/en/options // Если указать false, то код будет собран без транспиляции babel: boolean | Object, // Дополнительные плагины Rollup, // которые будут выполняться при сборке бандлов custom: Array<string | Function>, }, };
Подробнее о структуре расширений читайте в
соответствующем уроке.
Расширение (экстеншн, extension) — способ организации JS и CSS кода в продуктах 1С-Битрикс: Управление Сайтом и Битрикс24.
Подробнее...
Для запуска сборки выполните команду:
$ bitrix build
Сборщик рекурсивно найдет все файлы bundle.config.js и выполнит для каждого конфига сборку и транспиляцию.
Дополнительные параметры:
Режим отслеживания изменений. Пересобирает бандлы Бандл (bundle, комплект/набор) - это совокупность каких-либо программных данных (файлов), объеденных по какому-либо признаку. В данном случае бандлы — это обработанные и объединенные исходные файлы. после изменения исходных файлов.
$ bitrix build --watch
Режим непрерывного тестирования. Тесты запускаются после каждой сборки. Обратите внимание, сборка с параметром --test выводит в отчете только статус прохождения тестов — прошли или не прошли, полный отчет выводит только команда bitrix test
.
$ bitrix build --test
Сборка только указанных модулей. Параметр поддерживается только в корневой c модулями local/js и bitrix/modules. В значении укажите имена модулей через запятую, например:
$ bitrix build --modules main,ui,landing
Запуск сборки для указанной директории. В значении укажите относительный путь к директории, например:
$ bitrix build --path ./main/install/js/main/loader
Запускает Mocha-тесты и выводит подробный отчет о прохождении тестов.
Дополнительные параметры:
Режим отслеживания изменений. Запускает тесты после изменения исходных файлов и кода тестов.
$ bitrix test --watch
Тестирование только указанных модулей. Параметр поддерживается только в корневой директории репозитория. В значении укажите имена модулей через запятую, например:
$ bitrix test --modules main,ui,landing
Запуск тестов для указанной директории. В значении укажите относительный путь к директории, например:
$ bitrix test --path ./main/install/js/main/loader.
Для создания расширения ("экстеншна"):
bitrix create
. После выполнения команды создается папка расширения, например /ext
и подключатся так:
\Bitrix\Main\UI\Extension::load("partner.ext");
для пути local/js/partner/ext/
.bitrix create
расширение myext и загрузите его
\Bitrix\Main\UI\Extension::load("myext");
.