Uglify js: Сжатие JS/CSS файлов (с использованием UglifyJS и UglifyCSS)

UglifyJS альтернативы и похожие программы

UglifyJS — это инструментарий анализатора JavaScript, минификатора, компрессора или beautifier.

Ссылки на официальные сайты

Официальный сайт      Github

Категории

Разработка

Теги

formatting javascript

Официальный сайт

  • Closure Compiler

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

    Открытый исходный код Бесплатно Linux Mac Windows Web

    Не требует установки

    7

  • JavaScript Obfuscator

    JavaScript Obfuscator — это бесплатный онлайн-инструмент, который запутывает ваш исходный код, предотвращая его кражу и использование без разрешения. Этот инструмент преобразует ваш исходный код JavaScript в новое представление, которое труднее пони…

    Бесплатно Web

    Щифрование

    3

  • Javascript Minifier

    Javascript Minifier сжимает, минимизирует код JavaScript, чтобы сделать его более оптимизированным, эффективным и сокращает время загрузки веб-сайта за счет уменьшения размеров файлов.

    Бесплатно Web

  • Javascript Beautifier

    JavaScript beautifier форматирует уродливый, минимизированный или запутанный javascript, чтобы сделать его более читабельным и чистым.

    Бесплатно Web

  • YUI Compressor

    Целью минимизации JavaScript и CSS всегда является сохранение эксплуатационных качеств кода при одновременном снижении общей площади его байтов (как в необработанном виде, так и после распаковки, поскольку большинство JavaScript и CSS, обслуживаемых…

    Открытый исходный код Бесплатно Self-Hosted

  • Terser

    JavaScript, парсер, mangler, оптимизатор и beautifier toolkit для ES6 +

    Открытый исходный код Бесплатно Node. JS Self-Hosted

    0

[email protected]

Ubuntu Manpage: uglify-js — набор инструментов для синтаксического анализа, сжатия/управления и улучшения JavaScript

Предоставлено: uglifyjs_3.17.4-2_all

 
ИМЯ
       uglify-js — набор инструментов для синтаксического анализа, сжатия/управления и улучшения качества JavaScript.
 
ОБЗОР
         uglifyjs  [  файлов  ...] [  вариантов  ]
 
ОПЦИИ
         -h  ,  --помощь 
              Распечатать информацию об использовании. `--help options` для получения подробной информации о доступных параметрах.
        -v , -V , -версия 
              Распечатать номер версии. 
         -p  ,  --parse  <опции>
              Укажите параметры парсера.
         -c  ,  --сжать  [параметры]
              Включить компрессор/указать параметры компрессора.
         ,  --мангл  [варианты]
              Мангл имена/указать параметры манглера.
         --mangle-реквизит  [опции]
              Свойства манипулятора/указать параметры манипулятора.
        
-b
, --украсить [опции] Украсьте вывод/укажите параметры вывода. -O , --output-opts <опции> Параметры вывода (украшение отключено). -o , --output <файл> Выходной файл (по умолчанию STDOUT). --аннотации Обрабатывайте и сохраняйте аннотации комментариев. --без аннотаций Игнорировать и удалять аннотации комментариев. --комментарии [фильтр] Сохраняйте комментарии об авторских правах в выходных данных. --config-file <файл> Прочитайте параметры minify() из файла JSON. -d , --define <выражение>[=значение] Глобальные определения. -e , --enclose
[arg[...][:value[...]]] Вставьте все в большую функцию с настраиваемыми аргументами и значениями. --выражение Разбирать отдельное выражение, а не программу. --т.е. Поддержка нестандартного Internet Explorer. --keep-fargs Не портите/не бросайте аргументы функции. --keep-имена Не искажайте/удаляйте имена функций. Полезно для кода, полагающегося на Имя.прототипа.функции. --модуль Вход процесса как модуль ES (подразумевается --toplevel ) --name-cache <файл> Файл для хранения искаженных сопоставлений имен. --переименовать Расширение символа силы. --без переименования Отключить расширение символа. --self
Собрать UglifyJS как библиотеку (подразумевается --wrap UglifyJS) --source-map [опции] Включить исходную карту/указать параметры исходной карты. --тайминги Отображение времени выполнения операций в STDERR. --верхний уровень Сжимайте и/или изменяйте переменные в области верхнего уровня. --v8 Поддержка нестандартных Chrome и Node.js. --подтвердить Выполните проверку во время манипуляций с AST. --подробный Печать диагностических сообщений. --warn Печатать предупреждающие сообщения. --вебкит Поддержка нестандартного Safari/Webkit. --wrap <имя> Встроить все как функцию с помощью ???export??? соответствует ???имя??? глобально.
(только для внутренней отладки) --на месте Предупреждение: заменяет оригинальные исходные файлы уменьшенным выводом. --уменьшить-тест Уменьшите автономный тестовый пример (предполагается клонированный репозиторий).

Как минимизировать файлы CSS/JS (с помощью UglifyJS и UglifyCSS) (документация по Symfony 2.5)

Изменить эту страницу

Предупреждение : Вы просматриваете документацию по Симфони 2.5, который больше не поддерживается.

Читать обновленную версию этой страницы для Symfony 6.3 (текущая стабильная версия).

UglifyJS — это набор инструментов для синтаксического анализатора/сжатия/улучшения JavaScript. Его можно использовать для объединения и минимизации активов JavaScript, чтобы они требовали меньше HTTP-запросов и ускорьте загрузку вашего сайта. UglifyCSS — компрессор/улучшитель CSS. это очень похоже на UglifyJS.

В этой кулинарной книге установка, настройка и использование UglifyJS показано подробно. UglifyCSS работает примерно так же и только рассказал кратко.

UglifyJS доступен в виде модуля Node.js npm и может быть установлен с помощью нпм. Во-первых, вам нужно установить Node.js. После этого вы можете установить UglifyJS используя npm:

Эта команда установит UglifyJS глобально, и вам может потребоваться запустить ее как пользователь root.

Примечание

Также можно установить UglifyJS только внутри вашего проекта. Делать это, установите его без опции -g и укажите путь, где поставить модуль:

Рекомендуется установить UglifyJS в папку app/Resources и добавьте папку node_modules в систему контроля версий. Альтернативно, вы можете создать файл npm package.json и указать свои зависимости там.

В зависимости от вашего метода установки вы должны иметь возможность выполнить uglifyjs исполняемый глобально или исполняемый физический файл, который живет в каталоге node_modules :

Теперь нам нужно настроить Symfony для использования фильтра uglifyjs2 при обработке ваши JavaScripts:

Примечание

Путь установки UglifyJS может различаться в зависимости от вашей системы. Чтобы узнать, где npm хранит папку bin , вы можете использовать следующее команда:

Должна появиться папка в вашей системе, внутри которой вы должны найти исполняемый файл UglifyJS.

Если вы установили UglifyJS локально, вы можете найти папку bin внутри папка node_modules . В данном случае он называется .bin .

Теперь у вас есть доступ к фильтру uglifyjs2 в вашем приложении.

Assetic пытается автоматически найти двоичный файл узла. Если его не удается найти, вы может настроить свое местоположение с помощью узел ключ:

Чтобы использовать UglifyJS на своих ресурсах, вам необходимо применить его к ним. С ваши активы являются частью слоя представления, эта работа выполняется в ваших шаблонах:

Примечание

В приведенном выше примере предполагается, что у вас есть пакет с именем AppBundle и ваш Файлы JavaScript находятся в каталоге Resources/public/js под вашим пучок. Однако это не важно — вы можете включить свой JavaScript файлы независимо от того, где они находятся.

С добавлением фильтра uglifyjs2 к тегам ресурсов выше вы теперь минимизированные JavaScript-коды должны передаваться по сети гораздо быстрее.

Минимизированные сценарии JavaScript очень трудно читать, не говоря уже об отладке. Из-за это, Assetic позволяет вам отключить определенный фильтр, когда ваше приложение находится в режим отладки (например, app_dev.php ). Вы можете сделать это, добавив префикс имени фильтра в вашем шаблоне со знаком вопроса: ? . Это говорит Assetic только применять этот фильтр, когда режим отладки выключен (например, app.php ):

Чтобы попробовать это, переключитесь на среду prod ( app.php ). Но прежде да, не забудь почистить кеш и сбросьте свои активы.

Кончик

Вместо того, чтобы добавлять фильтр к тегам активов, вы также можете глобально включите его, добавив атрибут apply_to в конфигурацию фильтра, для пример в фильтре uglifyjs2 apply_to: "\. js$" . Чтобы иметь только фильтр, применяемый в производстве, добавьте его в файл config_prod а не общий файл конфигурации. Для получения подробной информации о применении фильтров по расширение файла, см. Как применить фильтр Assetic к определенному расширению файла.

Использование UglifyCSS работает так же, как и UglifyJS. Во-первых, убедитесь пакет node установлен:

Затем добавьте конфигурацию для этого фильтра:

Чтобы использовать фильтр для файлов CSS, добавьте фильтр в Assetic таблиц стилей helper:

Как и в случае с фильтром uglifyjs2 , если добавить к имени фильтра префикс ? (т.е. ?uglifycss ), минификация произойдет только тогда, когда вы не в режиме отладки.

Эта работа, включая образцы кода, лицензирована Creative Commons BY-SA 3.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *