Поряд із компонентами модуля файл name.meta.tree оголошує метадані збірки й розгортання — речі, що стосуються модуля в цілому, а не окремого подання. Модуль застосунку — звичне місце для цього.Ось app.meta.tree цього сайту:1include \/mol/offline/install2include \/bog/builderui/theme.css3deploy \/bog/smalljs/assets
deploy \/path — копіює вказаний файл чи теку у вихід продакшн-збірки. Використовуйте для статичних ресурсів, які розгортання має нести, але які жоден код не імпортує — зображення, шрифти, іконки. Тут \/bog/smalljs/assets постачає лого й інші файли під assets/.require \/path — примусово додає модуль у бандл навіть тоді, коли жоден код на нього не посилається, для випадку, коли код цього модуля має виконатися раніше за код модуля, що містить цей meta.tree. Він додається як звичайна залежність високого пріоритету. Працюють і шлях модуля (\/mol/wire/patch), і окремий файл.include \/path — те саме примусове додавання, але для випадку, коли порядок завантаження неважливий. Модуль додається, але депріоритезується, тож завантажується після коду, що від нього залежить. Приклади: include \/mol/offline/install (реєструє service worker як побічний ефект) та include \/bog/builderui/theme.css (сирий аркуш стилів).pack<name>git \<url> — зіставляє простір імен із git-репозиторієм, звідки MAM його бере, напр. packmolgit \https://github.com/hyoo-ru/mam_mol.git. Саме так $mol_*, $hyoo_* та ваші власні пакети розв'язуються в реальний код.Навіщо взагалі примусово додавати? Збирач визначає залежності автоматично й пакує лише те, що ваш код справді використовує. Іноді вам потрібен модуль, на який ваш код не посилається — наприклад застосунок, що пакує цілий каталог компонентів, аби вони існували під час виконання. require та include покривають саме цей випадок; вони відрізняються лише порядком завантаження.
Оголошення pack належать .meta.tree у корені робочого простору — це реєстр кожного пакета, який робочий простір може отримати. Тримайте їх там, не в підмодулях; власний meta.tree підмодуля має нести лише require/include/deploy, специфічні для нього.Редагувати цю сторінку на GitHubЦе було корисно?ТакНіНазадПлагіниДаліОфлайнНа цій сторінціДирективиДе це живеType to search the documentation.