infrajs / collect
Collect and minifying js files in one on fly
Requires
- akiyatkin/meta: ~1
- infrajs/config: ~1
- infrajs/load: ~1
- infrajs/path: ~1
README
- Расширение собирает и объединяет javascript-файлы в один по адресу
/vendor/infrajs/collect/?js
- Расширение собирает и объединяет css-файлы в один по адресу
/vendor/infrajs/collect/?css
Если в проекте настроены короткие пути infrajs/router с .htaccess. Рекомендуется исопльзовать следующие пути:
- /-collect/?js
- /-collect/?css
Использование
В html Добавляем
<head> <script src="/vendor/infrajs/collect/?js"></script> <link href="/vendor/infrajs/collect/?css" type="text/css" rel="stylesheet" /> </head>
Если передать ещё и метку времени (или просто уникальная строка версии), то включится public кэширование. Без метки запро к серверу всегда с проверкой If-Not-Modified.
<script src="/vendor/infrajs/collect/?js&time=2342342"></script>
Если есть шаблонизатор
<script src="/vendor/infrajs/collect/?js&time={Access.adminTime()}"></script>
Описание
Обрабатывается свойство js, css в конфигурационном файле .infra.json, который можно создать в корне проекта или в папках зависимостей.
После установки сборка javascript и css доступна по адресу /vendor/infrajs/collect/?js
и /vendor/infrajs/collect/?css
.
Используется кэш браузерный и кэш серверый, gzip, минификация.
Добавление своих css и js файлов
В проекте есть файлы css и js:
- bower_components/jquery/dist/jquery.min.js
- bootstrap/bootstrap.min.js
- bower_components/flexslider/jquery.flexslider-min.js,
- css/style.css
- css/animate.css
Добавить эти файлы можно с помощью корневого кофнига. В корне проекта создаётся файл .infra.json со следующим содержанием
{ "index":{ "js":[ "bower_components/jquery/dist/jquery.min.js", "bootstrap/js/bootstrap.min.js", "bower_components/flexslider/jquery.flexslider-min.js" ], "css":[ "css/animate.css", "css/style.css" ] } }
Все пути в css-файлах должны быть указаны от корня проекта "/" или быть абсолютными. Стили bootstrap и flexslider содержат пути относительно своего расположения их придётся загружать отдельно или соответствующее инструкции работать не будут.
Загрузка js и css отдельных расширений
<script src="/vendor/infrajs/collect/?js&name=event"></script>
<script src="/vendor/infrajs/collect/?js&name=event,tester"></script>
Путь от корня
Ключ в конфиге расширения
{ "-collect":"root" }
будет означать что все пути js и css указаны от корня
Требования
- composer
- php > 5.3