Меняем компрессор js
Нет, нет — это инструкция не для владельцев Мерседеса.
Речь идет о библиотеке JSMin для сжатия js-файлов.
Я заглянул на репозитарий либы на github, где черным по-беломупо-русски написано что мол проект больше не поддерживается, и что не стоить использовать, ведь есть более достойные инструменты, среди которых есть JShrink.
Итак:
1. Загрузим JShrink и сохраним сюда: /engine/lib/external/JShrink/src/Minifier.php
2. Закомментируем строку и добавим новую, чтобы получилось так:
3. Закомментируем строку и добавим новую, чтобы получилось так:
4. Сбрасываем кэш и ВСЕ!
Обращаю внимание что сжатие должно быть включено в конфиге.
Разницы в размере сжатых файлов до и после практически нет. Что касается сжатого кода — то пока внимательно его не изучал.
Также обращаю внимание, что не смотря на правку файлов движка (!!!), это не должно сказаться на работе плагинов или чего-либо другого.
Речь идет о библиотеке JSMin для сжатия js-файлов.
Я заглянул на репозитарий либы на github, где черным по-белому
Итак:
1. Загрузим JShrink и сохраним сюда: /engine/lib/external/JShrink/src/Minifier.php
2. Закомментируем строку и добавим новую, чтобы получилось так:
//require_once(Config::Get('path.root.engine').'/lib/external/JSMin-1.1.1/jsmin.php'); require_once(Config::Get('path.root.engine').'/lib/external/JShrink/src/Minifier.php');
3. Закомментируем строку и добавим новую, чтобы получилось так:
//? JSMin::minify($sContent) ? \JShrink\Minifier::minify($sContent, array('flaggedComments' => false))
4. Сбрасываем кэш и ВСЕ!
Обращаю внимание что сжатие должно быть включено в конфиге.
Разницы в размере сжатых файлов до и после практически нет. Что касается сжатого кода — то пока внимательно его не изучал.
Также обращаю внимание, что не смотря на правку файлов движка (!!!), это не должно сказаться на работе плагинов или чего-либо другого.
8 комментариев
JSMin-1.1.1 на выходе 582 679 bytes
JShirnk на выходе 582 764 bytes
Пожалуй буду дальше использовать JSMin
При чем это только при использовании php 5.3 и выше, если устанавливать на php 5.2, то все нормально.
Решил поменять JSMin на JShrink. Теперь сайт стартует и на php 5.5, но не без косяков.
PHP Warning: mb_strpos(): Empty delimiter in /engine/lib/external/JShrink/Minifier.php
При этом на сайте не работают выпадающие меню, вкладки и т.д.
Что это может быть?