infrajs/collect

There is no license information available for the latest version (v1.0.14) of this package.

Collect and minifying js files in one on fly

v1.0.14 2018-03-19 16:04 UTC

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&amp;name=event"></script>
	<script src="/vendor/infrajs/collect/?js&amp;name=event,tester"></script>

Путь от корня

Ключ в конфиге расширения

{
	"-collect":"root"
}

будет означать что все пути js и css указаны от корня

Требования

  • composer
  • php > 5.3