🛠 Як це працює?

Parcel перетворює дерево ресурсів в дерево бандлів. Безліч інших пакувальників, як правило, ґрунтуються на ресурсах JavaScript з додаванням інших форматів, наприклад, вбудовування у вигляді рядків в JS-файли. Parcel не залежить від типу файлу  — він буде працювати з будь-якими типами ресурсів так, як ви очікували, без будь-якої конфігурації. Існує три кроки процесу створення бандла в Parcel.

1. Побудова дерева ресурсів

Parcel приймає в якості вхідних даних один елемент ресурсу, який може бути будь-якого типу: JS-файл, HTML, CSS, зображення і так далі. Існують різні типи ресурсів, визначені в Parcel, які знають, як обробляти конкретні типи файлів. Ресурси аналізуються, їх залежності витягуються, і вони перетворюються в їх остаточну скомпільовану форму. Це створює дерево ресурсів.

2. Побудова дерева бандлів

Після того, як дерево ресурсів побудовано, ресурси поміщаються в дерево бандлів. Бандл створюється для вхідного ресурсу, а для динамічних викликів import() створюються дочірні бандли, що в підсумку призводить до поділу коду.

Споріднені бандли створюються при імпорті ресурсів іншого типу, наприклад, якщо ви імпортували CSS-файл з JavaScript, він буде поміщений в сусідній бандл з відповідним бандлом для JavaScript.

Якщо ресурс потрібно більш ніж в одному бандлі, він піднімається до найближчого загального предка в дереві бандлів, тому він не включається більш ніж один раз.

3. Упаковка

Після того, як побудовано дерево бандлів, кожен бандл записується в файл пакувальником, специфічним для даного типу файлу. Пакувальники знають, як об'єднати код з кожного ресурсу в кінцевий файл, який буде завантажений браузером.

Help us improve the docs

If something is missing or not entirely clear, please file an issue on the website repository or edit this page.