2017 © Pedro Peláez
 

library yiisset

Client script alternative implementation for Yii with minifying, compressing, merging, parallel loading and CoffeeScript support

image

herroffizier/yiisset

Client script alternative implementation for Yii with minifying, compressing, merging, parallel loading and CoffeeScript support

  • Tuesday, August 19, 2014
  • by herroffizier
  • Repository
  • 1 Watchers
  • 0 Stars
  • 29 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Yiisset

Yiisset представляет собой альтернативный client script для Yii., (*1)

Yiisset сокращает количество запросов к серверу, уменьшает объем передаваемого трафика и ускоряет загрузку страницы непосредственно в браузере, не меня при этом привычной логики работы с ресурсами приложения., (*2)

Проект появился как форк yii-EClientScript., (*3)

Возможности

Итак, Yiisset позволяет: * объединять несколько ресурсов в один файл, корректно группируя скрипты по положению в теле страницы, а стили - по атрибуту media; * минифицировать файлы; * создавать сжатые копии файлов, что позволяет серверу не тратить время на сжатие файла перед отправкой клиенту; * удалять инлайновые скрипты из тела страницы, что может быть полезно, если их много; * использовать параллельную загрузку ресурсов на странице; * компилировать CoffeeScript., (*4)

Установка

В своей работе Yiisset использует ряд сторонних инструментов, установить которые не составит никакой сложности для большинства популярных *nix дистрибутивов. Однако, если вы не хотите этого делать, расширение просто отключит те фичи, в которых используются отсутствующие инструменты, и будет нормально работать., (*5)

Для простого объединения файлов и параллельной их загрузки достаточно минимального набора, который, скорее всего, у вас уже есть: * *nix (расширение не рассчитано на работу в среде Windows!) * PHP >= 5.3 * Yii >= 1.1.14, (*6)

Для всего остального вам понадобится Node.js и его модули: * UglifyJS для минификации скриптов; * clean-css для минификации стилей; * CoffeeScript для компиляции CoffeeScript., (*7)

Модули можно установить следующей командой:, (*8)

npm install -g coffee uglifyjs clean-css

Настройка

Для подключения расширения достаточно заменить компонент:, (*9)

'clientScript' => array(
    'class' => 'vendors.herroffizier.yiisset.components.EClientScript',
),

Настроек по умолчанию будет вполне достаточно для того, чтобы расширение выполняло все свои функции, однако для удобства отладки в своих проектах я использую следующий конфиг:, (*10)

'clientScript' => array(
    'class' => 'vendors.herroffizier.yiisset.components.EClientScript',
    // объединять ли стили
    'combineCssFiles' => !YII_DEBUG,
    // оптимизировать ли стили
    'optimizeCssFiles' => !YII_DEBUG,
    // объединять ли скрипты
    'combineScriptFiles' => !YII_DEBUG,
    // оптимизировать ли скрипты
    'optimizeScriptFiles' => !YII_DEBUG,
    // сохранять ли сжатые копии файлов
    'saveGzippedCopy' => !YII_DEBUG,
),

Наконец, для того, чтобы ресурсы приложения были сгруппированы по номеру ревизии проекта, можно заменить ещё один компонент:, (*11)

'assetManager' => array(
    'class' => 'vendors.herroffizier.yiisset.components.EAssetManager',
    // при forceCopy = true Yiisset будет обрабатывать ресурсы проекта при каждом запросе
    'forceCopy' => YII_DEBUG,
    // в константе REVISION хранится номер ревизии проекта
    'assetVersion' => !YII_DEBUG ? REVISION : null, 
),

The Versions

19/08 2014

dev-master

9999999-dev https://github.com/herroffizier/yiisset

Client script alternative implementation for Yii with minifying, compressing, merging, parallel loading and CoffeeScript support

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Martin Stolz

css yii js uglify coffeescript gzip lazyload clientscript clean-css zopfli