У нас есть много небольших файлов CSS и JS, и включение слияния кажется хорошим выбором.
Многие файлы CSS и JS используются на каждой странице (домашняя страница, страница категории, страница сведений о продукте).
Всякий раз, когда мы видим, что другой объединенный файл загружается снова на каждой странице, даже содержащийся CSS должен перекрываться.
Как мы можем избежать этого и повторно использовать больше данных?
css
javascript
frontend
Alex
источник
источник
.css
и.js
файлы. При установке по умолчанию в Magento.css
файлы практически одинаковы, поэтому объединенный файл имеет идентичный хеш. Но.js
это сильно отличается - поэтому есть новый объединенный файл для страниц продукта, для страниц категорий и т. Д. - всегда включающий полный прототип lib.Ответы:
Краткий ответ: никогда не включайте функцию объединения JS / CSS в Magento. В целом это ухудшает производительность на протяжении всего жизненного цикла обычной проверки, чем отправка каждого актива в отдельности.
Длинный ответ: Вы должны обслуживать только один файл CSS для пользователей. Несколько файлов блокируют рендеринг, пока весь CSS не будет загружен. Если вы не используете огромное количество CSS, выгодно отправлять все сразу, тогда браузер кэширует его. Использование препроцессора, такого как Sass или LESS, может внести этот шаг в процесс сборки вместо того, чтобы позволить Magento делать это неэффективно.
Для JS в идеале вы не должны объединять эти стороны сервера. Загрузчики скриптов на стороне клиента, такие как AMD / RequireJS, являются лучшим выбором и помогают управлять зависимостями, чего нет в Layen XML для Magento. В реальном мире, хотя Magento включает сценарии в нескольких точках оформления заказа. Вам все же лучше принять начальную загрузку страницы несколькими запросами и впоследствии иметь отдельные, но кэшированные ресурсы.
Расширение Fooman Speedster Advanced - ваш лучший выбор для интеллектуального объединения активов без дублирования (сегодня).
Вы несколько ограничены архитектурой Magento 1.x, которая начинается с кучи плохих практик для производительности внешнего интерфейса. Нереально изменить курс этого корабля. Поспособствуйте Magento 2.
источник
Мы использовали расширение Fooman Speedster Magento . Это замечательное расширение, которое обрабатывает слияние файлов CSS и JS, чтобы повысить производительность вашей страницы.
Со страницы:
источник
uglifyjs --compress
и лучше справляться с комментариями, вы могли бы получить дополнительное улучшение на 4% меньше с моим кодом. Я использую uglifyjs v3 с узла.