larakit/laravel-larakit-staticfiles

This package is abandoned and no longer maintained. No replacement package was suggested.

Библиотека для Laravel для управления статикой (сборка в один файл, сжатие JS/CSS, добавление хэша в URL для сброса кэша браузера)

dev-master 2015-09-14 10:46 UTC

This package is not auto-updated.

Last update: 2015-12-14 06:48:52 UTC


README

Total Downloads Latest Stable Version Latest Unstable Version License

Библиотека для Laravel для управления статикой (сборка в один файл, сжатие JS/CSS, добавление хэша в URL для сброса кэша браузера)

Step 1

Подключаемые стили и скрипты вынесем в отдельный файл, для этого в app/start/global.php в самый конец добавим строку:

require app_path() . '/staticfiles.php';

Step 2

Создадим файл app/staticfiles.php и заполним его инструкциями по подключению JS/CSS

<?php
\LaraCss::add('http://fonts.googleapis.com/css?family=Open+Sans:300&subset=cyrillic')
   ->add('http://fonts.googleapis.com/css?family=Oswald:400,700,300')
   ->add('/packages/components/font-awesome/css/font-awesome.css')
   ->add('/packages/components/animate.css/animate.css')
   ->add('/packages/components/jquery-pace/jquery-pace.js')
   ->add('/packages/components/jquery-notific8/jquery.notific8.min.css')
;
\LaraJs::add('/!/build/bootstrap.min.js')
  ->add('/!/static/js/main.js')
;

Step 3

Чтобы добавленные стили и скрипты вставились во все страницы сайта надо в вашем шаблоне прописать вызов

<html>
    <head>
        <title>title</title>
        {{ laracss() }}
    </head>
    <body>
        ... 
        {{ larajs() }} 
    </body>
</html>

Step 4

После того как это сделано можете вызвать в консоли процедуру

php artisan latastatic:deploy 

которая произведет выкладку статики в public для каждого зарегистрированного пакета

Как использовать готовые пакеты со статикой:

1) заходите на packagist.org и вписываете в поле поиска название нужного пакета, например jquery, bootstrap, jqueryui, angular, etc... Скорее всего этот пакет будет у вендора "components"

Внимание!
Пакеты подготовленные для работы с модулем помечены тегом "larastatic"

2) вписываете пакет в composer.json проекта

{
    "require": {
        "components/bootstrap": "*",
        "components/jqueryui": "*",
        "components/font-awesome": "*",
        "components/animate.css": "*",
        "components/jquery-pace": "*",
        "components/jquery-notific8": "dev-master",
        "components/jquery": "*"
    }, 
}

3) регистрируете пакет в приложении, чтобы можно было произвести выкладку статики

<?php
larastatic_register("<vendor>/<package>");

Внимание!!! Вторым параметром функции регистрации пакета со статикой идет путь к выкладываемым файлам внутри пакета. По-умолчанию передается значение true, что означает, что статика будет искаться в поддиректории "public" как это принято в Laravel Если же выкладываемая статика находится в корне пакета, как например в "components/bootstrap", то следует вторым параметром передать пустую строку

<?php
larastatic_register('components/bootstrap', '');

Если же выкладываемая статика находится в какой то поддиректории пакета, как например в "components/animate.css", то следует вторым параметром передать эту поддиректорию

<?php
larastatic_register('components/animate.css', 'css');

и тогда будет выложена только нужная часть пакета, например, без исходных кодов

Возможности и рекомендации

Пакет умеет собирать в один файл и минимизировать статику. Все билды версифицированы, что исключает кеширование на стороне клиента.
Для режима разработки отключите сборку билдов, а на продакшн-сервере включите.
Этим вы значительно уменьшите количество выполняемых к серверу запросов для получения статики.
Для изменения дефолтных настроек модуля необходимо опубликовать их:

php artisan config:publish larakit/laravel-larakit-staticfiles

Настройки окажутся окажутся в директории app/config/packages/larakit/laravel-larakit-staticfiles/ и станут доступными для переопределения.