Я ищу инструмент или способ уменьшить (подобный для Сжатия моего кода и этого вопроса на Стеке) весь код в моем .xml
, .css
, .html
и .js
файлы через терминал Ubuntu. В конечном счете я буду колотить сценарий процесс, но в данный момент я хотел бы просто найти, что что-то тестирует. Существует ли инструмент там, что я могу использовать для сжатия всех этих форматов файлов через терминал?
Это не лучший вариант , но, вероятно, самый простой. Компрессор YUI долгое время считался лучшим компрессором для Javascript и CSS, предлагая 20-40% улучшений по сравнению с другими минифайерами.
С тех пор он был заменен более новыми проектами, такими как Uglify.JS (что, вероятно, предложит Grunt), но в Ubuntu все еще довольно легко начать работать.
sudo apt-get install yui-compressor
Вот и все. Теперь вы можете запустить yui-compressor myfile.js
, и он сделает свое волшебство, но не так хорошо, или так же удобно, как правильно установленный стек Node / Grunt / Uglify + YUI.
Вы можете легко минимизировать js с помощью узла и uglify-js из командной строки:
установить uglify-js с npm install uglify-js -g
запустите его uglifyjs app-test.js > app-test.min.js
Для css я бы предложил clean-css (вероятно, самый стабильный минификатор css на npm)
пример использования:
cleancss -o public-min.css public.css
Что касается html, то обычно минификация обычно не стоит того времени, которое вы вкладываете в ее настройку, но я попробовал html -minifier и это потрясающий инструмент.
Что бы вы ни делали, просто будьте уверены, что вживите то, что служите.
Используйте minify - в отличие от других предложений, этот инструмент уменьшает намного больше типов файлов:
CSS text/css
HTM text/html
HTML text/html
JS text/javascript
JSON application/json
SVG image/svg+xml
XML text/xml
У меня были хорошие результаты с Closure Compiler .
Closure Compiler - это инструмент для ускорения загрузки и запуска JavaScript. Вместо компиляции из исходного языка в машинный код, он компилирует из JavaScript в лучший JavaScript. Он анализирует ваш JavaScript, анализирует его, удаляет мертвый код, переписывает и минимизирует то, что осталось. Он также проверяет синтаксис, ссылки на переменные и типы и предупреждает о распространенных ошибках JavaScript.
blockquote>Он разработан Google и написан на Java. Он упакован для систем на основе Debian как
closure-compiler
и легко устанавливается в системах Ubuntu. Поскольку он не использует графический интерфейс, для него требуется более легкий пакетdefault-jre-headless
.Это медленнее, чем YUI-компрессор, но результирующий размер файла (немного) меньше. Он также печатает полезные предупреждающие сообщения, похожие на компиляторы для других языков программирования.
Документация: Начало работы
Использование:
closure-compiler --js input.js --js_output_file output.js
Я бы порекомендовал использовать Grunt.js . Это инструмент автоматизации, который имеет минифайеры в виде плагинов и может быть запущен на вашем терминале через Node.js. Не должно быть необходимости минимизировать PHP, так как код выполняется на стороне сервера, а клиенту отправляется только его HTML-вывод.
Вы можете найти доступные плагины здесь
Нет причин минимизировать php-файлы (за исключением того, что у вас очень ограниченное дисковое пространство и вы хотите использовать каждый его бит).
Если бы вы могли добавить цель (Что вы хотите достичь и почему?), Кто-то может показать вам лучший способ.
Файлы JS и CSS минимизируются во время выполнения и кэшируются в большинстве веб-проектов. Существует minify ( https://github.com/mrclay/minify ), php «библиотека», которая способна сделать именно это. (также может быть выполнен с помощью php из терминала)
Но имейте в виду, что один большой файл javascript необязательно загружается быстрее, чем 5 маленьких файлов. Если вам нужна причина и решение для этого утверждения, взгляните на http://headjs.com/
Пусть источник будет с вами ...
Другой вариант - использовать команду npx
из Node.js. npx
запускает команду пакета Node.js, не устанавливая ее явно.
# Minify JS
npx -p uglify-js uglifyjs -o app.min.js app.js common.js
# Minify CSS
npx clean-css-cli -o style.min.css css/bootstrap.css style.css
# Minify HTML
npx html-minifier index-2.html -o index.html --remove-comments --collapse-whitespace
# XML
npx pretty-data-cli --type xml --minify input.xml > input.min.xml
I нашел эту java-библиотеку для HTML (у вас должна быть установлена java): https://code.google.com/archive/p/htmlcompressor/
Использовать командную строку просто:
java -jar htmlcompressor.jar inputfile.html > outputfile.html
А для CSS я использую это (степень сжатия лучше, чем у других инструментов что я пробовал): https://github.com/acwtools/accss
Использование командной строки:
accss inputfile.css > outputfile.css
JavaScript Minifier — это онлайн-проект JavaScript Minifier, разработанный Эндрю Чилтоном. Бесплатная, приличная и установка не требуется
curl -X POST -s --data-urlencode 'input@my.js' https://javascript-minifier.com/raw > my.min.js