XF 2 Настройка процесса сборки плагина

Совместимость с XenForo: 2.0

Помимо создания ZIP-файла плагина могут быть дополнительные файлы, которые вы хотите включить в свои ZIP-архивы, другие более сложные процессы сборки, которые вы хотите запустить, например, для минимизации или конкатенации JS или выполнения определенных команд оболочки. Все это можно позаботиться в файле build.json. Это типичный файл build.json:
JSON:
Please, Log in or Register to view codes content!
Если у вас есть файлы, такие как JavaScript, которые необходимо обслуживать вне вашего дополнительного каталога, вы можете сообщить процессу сборки для копирования файлов или каталогов с помощью массива дополнительных файлов additional_files в build.json.Во время разработки не всегда возможно хранить файлы вне вашего дополнительного каталога, поэтому, если вы предпочитаете, вы можете сохранить файлы в своем каталоге плагина _files. При копировании дополнительных файлов мы сначала проверим их.

Если вы отправляете некоторые JS-файлы с плагина, возможно, вы захотите минимизировать эти файлы по соображениям производительности. Вы можете указать, какие файлы вы хотите минимизировать прямо внутри вашего build.json. Вы можете перечислить их как массив или просто указать его как '*', который просто уменьшит все в вашем каталоге js, если этот путь содержит JS-файлы внутри него после копирования дополнительных файлов в сборку. В любых файлах, минитипированных, будет автоматически присваиваться суффикс .min.js вместо .js, а исходные файлы все равно будут в пакете.

Вы можете перевернуть несколько JS-файлов в один файл. Если вы это сделаете, вы можете использовать массив rollup для определения этого. Ключ - это итоговое комбинированное имя файла, а элементы внутри этого массива - это пути к файлам JS, которые будут объединены в один файл.

Наконец, у вас могут быть определенные процессы, которые необходимо запустить непосредственно перед тем, как пакет будет построен и завершен. Это может быть любая комбинация вещей. В конечном счете, если это команда, которую можно запустить из оболочки (включая скрипты PHP), вы можете указать ее здесь. Вышеприведенный пример, конечно, бесполезен, но, по крайней мере, демонстрирует, что некоторые заполнители могут использоваться. Эти заполнители заменяются скалярными значениями, которые вы можете получить из объекта XF\AddOn\AddOn, который обычно представляет собой любое значение, доступное в файле addon.json, или объект AddOn.

Это очень важная часть для разработчиков, так как многие начинают пилить свои костыли или ещё как то, когда можно настроить процесс построения архив с плагином и собрать все в 1 архив. Простой пример мимификации:
JSON:
Please, Log in or Register to view codes content!

Таким образом не обязательно указывать все аттрибуты из примера для настройки процесса сборки плагина
 
Back
Top