Magento JS Bundling: Посібник з оптимізації

JS-пакетування – це обов’язкова оптимізація, яка дозволяє вам пришвидшіть роботу вашого магазину Magento зменшити кількість запитів сервера на JS-файли. JS-пакети Magento формуються шляхом об’єднання кількох JavaScript-файлів в один. Відповідно, замість завантаження сотень JS-файлів для кожної сторінки, браузер завантажує лише кілька JS-пакетів.

Але є одне але.

За замовчуванням Magento створює величезні JS-пакетні файли, кожен в середньому розміром близько 5-10 Мб. У зв’язку з цим швидкість веб-сайту насправді не покращиться, а навпаки.

У цій статті ви крок за кроком розглянете оптимізацію JS-пакетів Magento за допомогою простого Ракета Javascript рішення, щоб ви могли скористатися перевагами JS-пакетування та покращити швидкість веб-сайту.

Перш ніж перейти до оптимізації, давайте ще раз визначимо, що таке JS-пакетування в Magento 2.

Що таке Magento JS-пакетування?

Magento JS-пакетування – це техніка, яка використовується для зменшення кількості запитів сторінок шляхом їх об’єднання в пакети. Таким чином, замість завантаження сотень JS-файлів, браузеру доводиться завантажувати лише кілька пакетів.

Однак, навіть Magento не рекомендує використовувати JS-пакетування через неефективність, оскільки об’єднані пакети мають розмір близько 5-10 Мб.

Примітка: щоб використовувати JS-пакетування в Magento, ваша програма повинна бути в режим виробництва , яку можна налаштувати за допомогою CLI.

Як оптимізувати Magento JS-пакетування?

Розширення Модуль Magento 2 Rocket JavaScript дозволяє створювати пакет файлів, необхідних для кожної сторінки, та робити його розміром близько 1 Мб, що значно покращує швидкість порівняно зі стандартним пакетуванням JS.

1. Мінімізуйте файли JavaScript

Перейдіть до Сховища > Конфігурація > Додатково > Розробник > Налаштування JS та увімкніть опцію Мінімізувати файли JavaScript.  

 Мінімізувати файли JS у Magento 2

Примітка: ця опція доступна лише у режим розробника .

Не забудьте очистити кеш-сховище, щоб перейти до наступного кроку.

2. Отримайте список важливих JS-файлів

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

За допомогою Magefan Rocket Javascript ви можете створити 1 пакет з усіма важливими JS-файлами. Для цього вам потрібно зібрати один список JS-файлів з різних сторінок.

Використовуйте наступний код:

/* Use in browser console */
globalSrc = '';
jQuery('script').each(function(){
if (!jQuery(this).attr('src')) return;
var src = jQuery(this).attr('src');
if (src.indexOf(require.toUrl('')) != -1 && src.indexOf('Magefan_LazyLoad') == -1) {
var src = (src.replace(require.toUrl(''), ''));
globalSrc += "\n" + src;
}
})
console.log(globalSrc)

Потім перейдіть на головну сторінку вашого магазину, клацніть правою кнопкою миші та виберіть Перевірити. Перейдіть до Консоль, очистіть її, якщо потрібно, вставте наведений вище код і натисніть Введіть.

 Magento JS List

Ви отримаєте список усіх файлів JavaScript, що використовуються на цій сторінці.

 JS List Magento

Після того, як ви отримаєте список JS-файлів з однієї сторінки, вставте його в деякі інструменти перетину списків, такі як Browserling. Повторіть процес на іншій сторінці та вставте список інших JS-файлів в інструмент, щоб знайти спільні елементи.

 Списки перетину онлайн

Ви можете порівнювати JS-файли з різних сторінок (продукт, категорія, CMS тощо), доки не знайдете список спільних JS-файлів.

3. Увімкніть оптимізацію пакетування JavaScript

Після того, як ви отримаєте остаточний список JS-файлів, які потрібно об’єднати в пакет, перейдіть до розділу Магазини > Конфігурація > Розширення Magefan > Rocket Javascript та Увімкніть Оптимізацію пакетування JavaScript. Вам потрібно буде вставити список JS-файлів у поле Включено в пакетування .

 Оптимізація пакетування Magento JS

Не забудьте Зберегти конфігурацію

4. Увімкнути пакетування Magento JS

Нарешті, вам потрібно повернутися до Налаштувань Magento JS (Сховища > Конфігурація > Додатково > Розробник > Налаштування JS), щоб Увімкнути пакетування JavaScript та Об'єднати файли JavaScript

 Увімкнути пакетування Magento JS

Зберегти конфігурацію та увімкнути продакшн-режим назад.

Оптимізація пакетування Magento JS — це не єдина перевага модуля Rocket Javascript, який ви отримуєте. Окрім ваги та кількості пакетів JS, він дозволяє оптимізувати завантаження JS-файлів на сторінці.

Ви можете налаштувати розширення Rocket Javascript перемістити весь JS вниз, щоб він не впливав на завантаження сторінки, або відкласти завантаження деяких файлів Javascript .