1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-yuicompressor

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Сжатие JavaScript и CSS с помощью YUI Compressor

YUI Compressor — это сжатый JavaScript, который, помимо удаления комментариев и пробелов, обфусцирует локальные переменные, используя наименьшее возможное имя переменной. Эта обфускация безопасна, даже при использовании конструкций, таких как 'eval' или 'with' (хотя сжатие не является оптимальным в этих случаях). В сравнении с jsmin, среднее сокращение составляет около 20%.

YUI Compressor также способен безопасно сжимать файлы CSS. Определение, какой сжиматор используется, зависит от расширения файла (js или css).

Компиляция

ant

Тестирование

./tests/suite.sh

Пакет Node.js

Вы можете использовать компрессор в пакете Node.js и сжимать файлы и строки асинхронно. Он всё ещё использует Java под капотом

npm i yuicompressor

var compressor = require('yuicompressor');

compressor.compress('/путь/к/файлу или Строка JS', {
    //Параметры компрессора:
    charset: 'utf8',
    type: 'js',
    nomunge: true,
    'line-break': 80
}, function(err, data, extra) {
    //err   Если компрессор сталкивается с ошибкой, она будет здесь
    //data  Сжатая строка, которую вы можете записать там, где вам нужно
    //extra Стандартный вывод ошибки (предупреждения выводятся здесь, если вы хотите их отобразить)
});

Параметры:

  • charset // по умолчанию 'utf8'
  • type // по умолчанию 'js'
  • line-break
  • nomunge
  • preserve-semi
  • disable-optimizationsЗадачи

  • Лучшая документация
  • Страницы помощи

Статус сборки

Статус сборки

Глобальные параметры

-h, --help
    Выводит справку по использованию YUI Compressor

--line-break
    Некоторые средства контроля версий не любят файлы, содержащие строки длиной более 8000 символов. Параметр line-break используется в этом случае для разделения длинных строк после определенного столбца. Он также может использоваться для улучшения читаемости кода, облегчения отладки (особенно с MS Script Debugger). Укажите 0, чтобы получить перенос строки после каждого разделителя в JavaScript и после каждого правила в CSS.

--type js|css
    Тип сжатия (JavaScript или CSS) выбирается в зависимости от расширения имени входного файла (.js или .css). Этот параметр обязателен, если не указан входной файл. В противном случае этот параметр требуется только в том случае, если расширение входного файла не 'js' и не 'css'.

--charset character-set
    Если указано поддерживаемое кодирование символов, YUI Compressor будет использовать его для чтения входного файла. В противном случае предполагается, что используется стандартное кодирование символов платформы. Выходной файл кодируется с использованием того же кодирования символов.    -o outfile

    Размещает выходные данные в файле outfile. Если этот параметр не указан, YUI Compressor по умолчанию использует стандартный вывод, который можно перенаправить в файл. Поддерживает синтаксис фильтра для выражения шаблона выходных данных при наличии нескольких входных файлов. Например:
        java -jar yuicompressor.jar -o '.css$:-min.css' *.css
    ... сжмет все файлы .css и сохранит их как -min.css.

-v, --verbose
    Отображает информационные сообщения и предупреждения.

Только для JavaScript

--nomunge
    Только сжатие. Не обфусцировать локальные символы.

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

--disable-optimizations
    Отключает все встроенные микрооптимизации.

Примечания

  • Если входной файл не указан, по умолчанию используется стандартный ввод.

  • Поддерживает использование шаблонов для указания нескольких входных файлов.

  • YUI Compressor требует версию Java >= 1.5.

  • Можно предотвратить обфусцирование локальной переменной, вложенной функции или аргумента функции, используя "подсказки". Подсказка — это строка, расположенная в самом начале тела функции, например:

function fn (arg1, arg2, arg3) {
    "arg2:nomunge, localVar:nomunge, nestedFn:nomunge";    ...
    var localVar;
    ...

    function nestedFn () {
        ....
    }

    ...
}

Подсказка сама по себе исчезает из сжатого файла.

  • Комментарии в стиле C, начинающиеся с /*!, сохраняются. Это полезно для комментариев, содержащих информацию о правах собственности или лицензии. С версии 2.4.8 символ '!' больше не удаляется YUICompressor. Например:``` /*!
  • Условия использования - Уравнения сглаживания
  • Открытый исходный код под лицензией BSD.
  • Copyright 2001 Robert Penner Все права защищены. */

Остальные комментарии остаются нетронутыми YUICompressor.

Модифицированные файлы Rhino
----------------------------

YUI Compressor использует модифицированную версию библиотеки Rhino
(http://www.mozilla.org/rhino/) Изменения были внесены для поддержки
условных комментариев JScript, сохраненных комментариев, неэкранированных
символов '/' в регулярных выражениях, а также для возможности оптимизации
экранированных кавычек в строковых литералах.

Авторские права и лицензия
--------------------------

Авторские права (c) 2013 Yahoo! Inc. Все права защищены.
Авторские права, содержащиеся в содержимом этого файла, лицензированы
Yahoo! Inc. под лицензией BSD (пересмотренная) открытого исходного кода.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

YUI Compressor — это инструмент для сжатия файлов JS и CSS, написанный на Java. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-yuicompressor.git
git@api.gitlife.ru:oschina-mirror/mirrors-yuicompressor.git
oschina-mirror
mirrors-yuicompressor
mirrors-yuicompressor
master