Уменьшите инструмент, который может быть выполнен через терминал

Я ищу инструмент или способ уменьшить (подобный для Сжатия моего кода и этого вопроса на Стеке) весь код в моем .xml, .css, .html и .js файлы через терминал Ubuntu. В конечном счете я буду колотить сценарий процесс, но в данный момент я хотел бы просто найти, что что-то тестирует. Существует ли инструмент там, что я могу использовать для сжатия всех этих форматов файлов через терминал?

35
задан 23 May 2017 в 15:39

9 ответов

Это не лучший вариант , но, вероятно, самый простой. Компрессор YUI долгое время считался лучшим компрессором для Javascript и CSS, предлагая 20-40% улучшений по сравнению с другими минифайерами.

С тех пор он был заменен более новыми проектами, такими как Uglify.JS (что, вероятно, предложит Grunt), но в Ubuntu все еще довольно легко начать работать.

sudo apt-get install yui-compressor

Вот и все. Теперь вы можете запустить yui-compressor myfile.js, и он сделает свое волшебство, но не так хорошо, или так же удобно, как правильно установленный стек Node / Grunt / Uglify + YUI.

0
ответ дан 23 May 2017 в 15:39

Вы можете легко минимизировать 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 и это потрясающий инструмент.

Что бы вы ни делали, просто будьте уверены, что вживите то, что служите.

0
ответ дан 23 May 2017 в 15:39

Используйте minify - в отличие от других предложений, этот инструмент уменьшает намного больше типов файлов:

CSS     text/css
HTM     text/html
HTML    text/html
JS      text/javascript
JSON    application/json
SVG     image/svg+xml
XML     text/xml
0
ответ дан 23 May 2017 в 15:39

У меня были хорошие результаты с Closure Compiler .

Closure Compiler - это инструмент для ускорения загрузки и запуска JavaScript. Вместо компиляции из исходного языка в машинный код, он компилирует из JavaScript в лучший JavaScript. Он анализирует ваш JavaScript, анализирует его, удаляет мертвый код, переписывает и минимизирует то, что осталось. Он также проверяет синтаксис, ссылки на переменные и типы и предупреждает о распространенных ошибках JavaScript.

Он разработан Google и написан на Java. Он упакован для систем на основе Debian как closure-compiler и легко устанавливается в системах Ubuntu. Поскольку он не использует графический интерфейс, для него требуется более легкий пакет default-jre-headless.

Это медленнее, чем YUI-компрессор, но результирующий размер файла (немного) меньше. Он также печатает полезные предупреждающие сообщения, похожие на компиляторы для других языков программирования.

Документация: Начало работы

Использование:

closure-compiler --js input.js --js_output_file output.js
0
ответ дан 23 May 2017 в 15:39

Я бы порекомендовал использовать Grunt.js . Это инструмент автоматизации, который имеет минифайеры в виде плагинов и может быть запущен на вашем терминале через Node.js. Не должно быть необходимости минимизировать PHP, так как код выполняется на стороне сервера, а клиенту отправляется только его HTML-вывод.

Вы можете найти доступные плагины здесь

0
ответ дан 23 May 2017 в 15:39

Нет причин минимизировать php-файлы (за исключением того, что у вас очень ограниченное дисковое пространство и вы хотите использовать каждый его бит).

Если бы вы могли добавить цель (Что вы хотите достичь и почему?), Кто-то может показать вам лучший способ.

Файлы JS и CSS минимизируются во время выполнения и кэшируются в большинстве веб-проектов. Существует minify ( https://github.com/mrclay/minify ), php «библиотека», которая способна сделать именно это. (также может быть выполнен с помощью php из терминала)

Но имейте в виду, что один большой файл javascript необязательно загружается быстрее, чем 5 маленьких файлов. Если вам нужна причина и решение для этого утверждения, взгляните на http://headjs.com/

Пусть источник будет с вами ...

0
ответ дан 23 May 2017 в 15:39

Другой вариант - использовать команду 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
0
ответ дан 23 May 2017 в 15:39

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
0
ответ дан 16 January 2020 в 15:14

JavaScript Minifier — это онлайн-проект JavaScript Minifier, разработанный Эндрю Чилтоном. Бесплатная, приличная и установка не требуется

curl -X POST -s --data-urlencode 'input@my.js' https://javascript-minifier.com/raw > my.min.js
2
ответ дан 15 September 2020 в 07:52

Другие вопросы по тегам:

Похожие вопросы: