, (*1)
[Larakit Staticfiles] ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠΎΠΉ
(ΡΠ±ΠΎΡΠΊΠ° Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ», ΡΠΆΠ°ΡΠΈΠ΅ JS/CSS, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ
ΡΡΠ° Π² URL Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ° ΠΊΡΡΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ°), (*2)
ΠΠΎΠ΄ΡΠ»Ρ Π±ΡΠ» ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Kohana, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»ΡΠΆΠΈΠ» ΠΌΠ½Π΅ Π²Π΅ΡΠΎΠΉ ΠΈ ΠΏΡΠ°Π²Π΄ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 5 Π»Π΅Ρ ( ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΈ Kohana :) )
(ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π» Π΅Π³ΠΎ ΡΡΡ https://habrahabr.ru/post/112852/), (*3)
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Laravel Ρ Π²Π°Ρ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½, (*4)
1. Π€Π°ΠΉΠ» Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠΈ
ΠΠ»Ρ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π²ΡΠ½Π΅ΡΠ΅ΠΌ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, (*5)
./app/Http/staticfiles.php
ΠΠ°ΡΠ΅ΠΌ Π² ΡΠ°ΠΉΠ»Π΅, (*6)
./app/Http/routes.php
ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π΅Π³ΠΎ, (*7)
<?php
Route::get('/', function () {
return view('welcome');
});
require app_path('Http/staticfiles.php');
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ
$composer require larakit/lk-staticfiles
ΠΠ°Π»Π΅Π΅ Π½ΡΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° https://github.com/larakit/lk-boot ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΄Π²Π΅ ΠΏΡΠ°Π²ΠΊΠΈ, (*8)
./app/Http/Kernel.php
ΠΈ, (*9)
./config/app.php
Π»ΠΈΠ±ΠΎ ΡΡΠΊΠ°ΠΌΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π², (*10)
./config/app.php
ΡΠ΅ΡΠ²ΠΈΡ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ "Larakit\StaticFiles\LarakitServiceProvider", (*11)
<?php
return [
...
'providers' => [
...,
Larakit\StaticFiles\LarakitServiceProvider::class
],
...
];
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΡΠΎ Π²ΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π±Π΅ΡΠ΅ΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:, (*12)
php artisan | grep larastatic
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡ:, (*13)
larastatic
larastatic:deploy ΠΡΠ»ΠΎΠΆΠΈΡΡ ΡΡΠ°ΡΠΈΠΊΡ ΠΈΠ· Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² DOCUMENT_ROOT
ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ, ΠΏΠ°ΠΊΠ΅Ρ Π±ΡΠ» ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½!, (*14)
3. ΠΠ°ΠΏΠΎΠ»Π½ΠΈΠΌ staticfiles.php ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ CSS
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, (*15)
, (*16)
ΠΈ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, (*17)
<?php
\Larakit\StaticFiles\Css::instance()
->add('https://fonts.googleapis.com/css?family=Lato:100')
->addInline('
html, body {
height: 100%;
}
body {
margin: 0;
padding: 0;
width: 100%;
display: table;
font-weight: 100;
font-family: "Lato";
}
.container {
text-align: center;
display: table-cell;
vertical-align: middle;
}
.content {
text-align: center;
display: inline-block;
}
.title {
font-size: 96px;
}
');
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π²ΡΡΠ°Π²ΠΈΠ»ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ° Π½Π°Π΄ΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π²ΡΠ·ΠΎΠ², (*18)
, (*19)
ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ!, (*20)
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, (*21)
\Larakit\StaticFiles\Css::instance()
->add('"https://fonts.googleapis.com/css?family=Lato:100')
->addInline('
html, body {
height: 100%;
}
');
ΠΈ, (*22)
\Larakit\StaticFiles\Css::instance()
->add('"https://fonts.googleapis.com/css?family=Lato:100');
\Larakit\StaticFiles\Css::instance()
->addInline('
html, body {
height: 100%;
}
');
Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ., (*23)
4. Π Π°Π±ΠΎΡΠ° Ρ JS
ΠΠ½Π° Π½Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΡΠ°Π±ΠΎΡΡ Ρ JS., (*24)
Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π΄Π²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΡ
ΡΡΠΈΠ»ΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ inline-Π²ΡΡΠ°Π²ΠΊΠΈ ΠΊΠ°ΠΊ Π² CSS, Π·Π΄Π΅ΡΡ Π΅ΡΡΡ Π΅ΡΠ΅ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°:
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ onLoad
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Noscript, (*25)
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» JS-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° - Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ: ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ
- ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π²ΡΠ»Π΅ΡΠ°Π» Π°Π»Π΅ΡΡ "ΠΏΡΠΈΠ²Π΅Ρ!"
- Π·Π°Π³ΡΡΠΆΠ°Π»Π°ΡΡ ΡΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΡΡΠ°
- ΠΏΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ javascript ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ ΡΠ΅ΠΊΡΡ "Π£ΠΏΡ, Π²ΠΊΠ»ΡΡΠΈ JS!", (*26)
ΠΠ°ΠΏΠΎΠΌΠ½Ρ, Π²ΡΠ΅ ΡΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π² ΡΠ°ΠΉΠ»Π΅, (*27)
./app/Http/staticfiles.php
ΠΡΠ°ΠΊ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π³ΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π½ΠΎΠ²ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, (*28)
\Larakit\StaticFiles\Js::instance()
//ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ jQuery
->add('https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js')
//ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ API ΡΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΡΡ
->add('//api-maps.yandex.ru/2.1/?lang=ru_RU')
->addInline('
var myMap;
// ΠΠΎΠΆΠ΄ΡΠΌΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ API ΠΈ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ DOM.
ymaps.ready(init);
function init () {
// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ°ΡΡΡ ΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Ρ
// Π·Π°Π΄Π°Π½Π½ΡΠΌ id ("map").
myMap = new ymaps.Map("map", {
// ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ
// Π΅Ρ ΡΠ΅Π½ΡΡ ΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
center: [55.76, 37.64], // ΠΠΎΡΠΊΠ²Π°
zoom: 10
}, {
searchControlProvider: "yandex#search"
});
}
')
//Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡΠΈΠ²Π΅ΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
->addOnload('alert("ΠΏΡΠΈΠ²Π΅Ρ!")')
//Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ JS
->addNoscript('Π£ΠΏΡ, Π²ΠΊΠ»ΡΡΠΈ JS!');
//Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠ΅Ρ ΡΡΠΈΠ»ΠΈ Π΄Π»Ρ ΠΊΠ°ΡΡΡ
\Larakit\StaticFiles\Css::instance()
->addInline('
#map {
width: 100%;
height: 200px;
}
');
ΠΠΎΠΏΠΎΠ»Π½ΠΈΠΌ ΠΈ ΡΠ°ΠΌ ΡΠ°Π±Π»ΠΎΠ½:
- Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²
- Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ ΠΊΠ°ΡΡΡ, (*29)
, (*30)
ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ:, (*31)
1) alert ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π²ΡΠ»Π΅ΡΠ΅Π»
, (*32)
2) Π―Π½Π΄Π΅ΠΊΡ.ΠΊΠ°ΡΡΠ° ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ
, (*33)
3) ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌ javascript Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ - ΡΠΏΡΠ°Π²Π° Π²Π²Π΅ΡΡ
Ρ Π²ΠΈΠ΄ΠΈΠΌ Π½Π°Π΄ΠΏΠΈΡΡ "Π£ΠΏΡ, Π²ΠΊΠ»ΡΡΠΈ JS!"
, (*34)
Π‘ΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠΊΡΠΈΠΏΡΡ:
, (*35)
5. Π‘ΠΏΠΎΡΠΎΠ±Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠΈ
ΠΡ
Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ:
1) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅)
2) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠΈ ΠΈΠ· DOCUMENT_ROOT (ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅)
3) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠΈ ΠΈΠ· vendor-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ node_modules (ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π² DOCUMENT_ROOT), (*36)
Π’Π°ΠΊ Π²ΠΎΡ Π΄Π»Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π²ΡΠΊΠ»Π°Π΄ΠΊΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, (*37)
./public/packages/...
Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠ½Π° ΡΠ°ΠΊ:, (*38)
php artisan larastatic:deploy
ΠΈ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ Π·Π°ΠΏΡΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π²ΡΠΊΠ»Π°Π΄ΠΊΠ° ΡΡΠ°ΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, (*39)
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠΎ ΡΡΠ°ΡΠΈΠΊΠΎΠΉ:
- Π·Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π½Π° github.com ΠΈ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΈΡΠΊΠ° "lk-staticfiles"
- Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, https://github.com/larakit/sf-bootstrap
- Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
- ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠΏΠΎΠ·Π΅ΡΠ΅
- ΠΈ Π²ΡΠ΅!
ΠΎΠ½ ΡΠ°ΠΌ ΠΏΡΠΎΠΏΠΈΡΠ΅ΡΡΡ Π³Π΄Π΅ Π½Π°Π΄ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ., (*40)
ΠΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅? ΠΠΈΠΊΠ°ΠΊΠΈΡ
ΡΠ΅Π±Π΅ ΡΠ°Π½ΡΠ΅Π² Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ gulp/grunt-ΠΏΡΠ°Π²ΠΈΠ» Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π» Π² composer Π·Π°ΠΏΠΈΡΠΈΠΌΠΎΡΡΡ, ΠΎΠ½ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ., (*41)
ΠΡΠΈΡΠ΅ΠΌ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ/Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΠΎΡΡΠ°Ρ
ΠΏΠΎ ΠΌΠ°ΡΠΊΠ΅ (ΡΠΌ. Π½ΠΈΠΆΠ΅), (*42)
6. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ
Π ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
- ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ CSS [inline] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ CSS [external] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ JS [inline] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ JS [external] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ JS [onload] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΡΠ±ΠΎΡΠΊΠ° Π²ΡΠ΅Ρ
CSS Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ»Π΄-ΡΠ°ΠΉΠ» [inline] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΡΠ±ΠΎΡΠΊΠ° Π²ΡΠ΅Ρ
CSS Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ»Π΄-ΡΠ°ΠΉΠ» [external] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΡΠ±ΠΎΡΠΊΠ° Π²ΡΠ΅Ρ
JS Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ»Π΄-ΡΠ°ΠΉΠ» [inline] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΡΠ±ΠΎΡΠΊΠ° Π²ΡΠ΅Ρ
JS Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ»Π΄-ΡΠ°ΠΉΠ» [external] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΡΠ±ΠΎΡΠΊΠ° Π²ΡΠ΅Ρ
JS Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ»Π΄-ΡΠ°ΠΉΠ» [onload] - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ "production"
- ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ
ΠΎΡΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π°Π΅ΡΡΡ ΡΡΠ°ΡΠΈΠΊΠ° - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Ρ.Π΅. ΡΠ΅ΠΊΡΡΠΈΠΉ Π΄ΠΎΠΌΠ΅Π½, (*43)
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠ΅ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ: Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΡΠ΅ ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- /js/js.js
- /css/css.css, (*44)
<?php
\Larakit\StaticFiles\Css::instance()
->add('https://fonts.googleapis.com/css?family=Lato:100')
->add('/css/css.css')
->add('/css/css2.css')
->add('/css/css3.css')
->add('/css/css4.css')
->add('/css/css5.css')
->addInline('
html, body {
height: 100%;
}
body {
margin: 0;
padding: 0;
width: 100%;
display: table;
font-weight: 100;
font-family: "Lato";
}
.container {
text-align: center;
display: table-cell;
vertical-align: middle;
}
.content {
text-align: center;
display: inline-block;
}
.title {
font-size: 96px;
}
');
\Larakit\StaticFiles\Js::instance()
//ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ jQuery
->add('https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js',null,true)
//ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ API ΡΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΡΡ
->add('//api-maps.yandex.ru/2.1/?lang=ru_RU',null,true)
->add('/js/js.js')
->add('/js/js2.js')
->add('/js/js3.js')
->add('/js/js4.js')
->add('/js/js5.js')
->addInline('
var myMap;
// ΠΠΎΠΆΠ΄ΡΠΌΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ API ΠΈ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ DOM.
ymaps.ready(init);
function init () {
// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ°ΡΡΡ ΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Ρ
// Π·Π°Π΄Π°Π½Π½ΡΠΌ id ("map").
myMap = new ymaps.Map("map", {
// ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ
// Π΅Ρ ΡΠ΅Π½ΡΡ ΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
center: [55.76, 37.64], // ΠΠΎΡΠΊΠ²Π°
zoom: 10
}, {
searchControlProvider: "yandex#search"
});
}
')
//Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡΠΈΠ²Π΅ΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
->addOnload('alert("ΠΏΡΠΈΠ²Π΅Ρ!")')
//Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ JS
->addNoscript('Π£ΠΏΡ, Π²ΠΊΠ»ΡΡΠΈ JS!');
//Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠΈΠ»ΠΈ Π΄Π»Ρ ΠΊΠ°ΡΡΡ
\Larakit\StaticFiles\Css::instance()
->addInline('
#map {
width: 100%;
height: 200px;
}
');
/js/js.js
/js/js2.js
/js/js3.js
/js/js4.js
/js/js5.js, (*45)
confirm(
"ΠΡΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ ΡΠΊΡΠΈΠΏΡ js.js?"
);
/css/css.css
/css/css2.css
/css/css3.css
/css/css4.css
/css/css5.css, (*46)
body{
color : #EB6251;;
}
Π‘ΠΎΡ
ΡΠ°Π½ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ YSlow ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, (*47)
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈ Π΄ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, (*48)
, (*49)
Π ΡΠ°ΠΊ ΡΠΊΡΠΈΠΏΡΡ, (*50)
, (*51)
6.1 ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ±ΠΎΡΠΊΠΈ CSS ΠΈ JS Π² Π±ΠΈΠ»Π΄-ΡΠ°ΠΉΠ»Ρ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² .env ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ:, (*52)
# Π²ΠΊΠ»ΡΡΠΈΠΌ ΡΠ±ΠΎΡΠΊΡ CSS [inline] Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ»
LARAKIT_STATIC_CSS_INLINE_BUILD=1
# Π²ΠΊΠ»ΡΡΠΈΠΌ ΡΠ±ΠΎΡΠΊΡ CSS [ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅] Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ»
LARAKIT_STATIC_CSS_EXTERNAL_BUILD=1
# Π²ΠΊΠ»ΡΡΠΈΠΌ ΡΠ±ΠΎΡΠΊΡ CSS [inline] Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ»
LARAKIT_STATIC_JS_INLINE_BUILD=1
# Π²ΠΊΠ»ΡΡΠΈΠΌ ΡΠ±ΠΎΡΠΊΡ CSS [ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅] Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ»
LARAKIT_STATIC_JS_EXTERNAL_BUILD=1
# Π²ΠΊΠ»ΡΡΠΈΠΌ ΡΠ±ΠΎΡΠΊΡ CSS [onload] Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ»
LARAKIT_STATIC_JS_ONLOAD_BUILD=1
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ΄ Π½Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠΊΠΈ ΡΡΠ°Π» Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π΅Π΅:, (*53)
, (*54)
6.3 ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π±ΠΈΠ»Π΄-ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
CSS ΠΈ JS
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π² Π±ΠΈΠ»Π΄Ρ ΠΏΠΎΠΏΠ°Π»ΠΈ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π² Π±ΠΈΠ»Π΄Ρ, Π° Π·Π½Π°ΡΠΈΡ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ΄Π°Π²Π°ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, ΠΎΡΠΊΡΠ΄Π° Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ:, (*55)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π΄Π»Ρ Π½ΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ no_build Π² true:
- Π² CSS ΡΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
- Π² JS ΡΡΠΎ ΡΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, (*56)
\Larakit\StaticFiles\Css::instance()
->add(
//Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΡΠΈΠ»Ρ
'https://fonts.googleapis.com/css?family=Lato:100',
//media - ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ "all" ΠΈΠ»ΠΈ "print"
null,
//ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ "if IE 6"
null,
//no_build
true
)
...
;
\Larakit\StaticFiles\Js::instance()
//ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ jQuery
->add(
'https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js',
//ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ "if IE 6"
null,
//no_build
true
)
//ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ API ΡΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΡΡ
->add(
'//api-maps.yandex.ru/2.1/?lang=ru_RU',
//ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ "if IE 6"
null,
//no_build
true
)
...
;
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:, (*57)
, (*58)
6.2 ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ CSS ΠΈ JS
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² .env ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ:, (*59)
LARAKIT_STATIC_CSS_INLINE_MIN=1
LARAKIT_STATIC_CSS_EXTERNAL_MIN=1
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² .env Π΅ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ:, (*60)
LARAKIT_STATIC_CSS_INLINE_MIN=1
LARAKIT_STATIC_CSS_INLINE_MIN=1
LARAKIT_STATIC_CSS_EXTERNAL_MIN=1
LARAKIT_STATIC_JS_INLINE_MIN=1
LARAKIT_STATIC_JS_EXTERNAL_MIN=1
LARAKIT_STATIC_JS_ONLOAD_MIN=1
ΠΡΠ»ΠΎΠΆΠΈΠΌ ΡΡΠ°ΡΠΈΠΊΡ Π΅ΡΠ΅ ΡΠ°Π·,, (*61)
php artisan larastatic:deploy
ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΡΡΠ°ΡΠΈΠΊΡ Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ° ΠΊΡΡΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ², (*62)
ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ CSS, (*63)
ΠΡΠ»ΠΎ, (*64)
, (*65)
Π‘ΡΠ°Π»ΠΎ, (*66)
, (*67)
ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ CSS, (*68)
ΠΡΠ»ΠΎ, (*69)
, (*70)
Π‘ΡΠ°Π»ΠΎ, (*71)
, (*72)
6.3 ΠΡΠ΄Π°ΡΠ° ΡΡΠ°ΡΠΈΠΊΠΈ Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°
ΠΠΌΠΈΡΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΡΠ°ΡΠΈΠΊΠΈ Π½Π° CDN, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΎΠΌΠ΅Π½ "st1.staticfiles" ΠΈ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ Π°Π»ΠΈΠ°ΡΠΎΠΌ Π΄Π»Ρ Π΄ΠΎΠΌΠ΅Π½Π° "staticfiles"., (*73)
ΠΠ°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² .env Π΅ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ:, (*74)
LARAKIT_STATIC_PREFIX=http://st1.staticfiles
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
, (*75)
Π‘ΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ YSlow ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, (*76)
, (*77)
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ YSlow Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½Π°ΡΠ΅ΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ:, (*78)
, (*79)
Π‘ΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ YSlow ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, (*80)
, (*81)
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ YSlow Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½Π°ΡΠ΅ΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ:, (*82)
, (*83)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ» Π±Ρ Π΅ΡΠ΅ Π²ΡΡΠ΅, Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π²Π΅ΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π² Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅, Π° Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΡΡΡΠ΅ΠΊ, Π²Π·ΡΡΡΡ
Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²., (*84)
ΠΠΎ-ΠΌΠΎΠ΅ΠΌΡ, Π½Π΅ ΠΏΠ»ΠΎΡ
ΠΎ Π΄Π»Ρ ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π΅Π»Π°ΡΡΠ΅Π³ΠΎ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ., (*85)
7. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΡ ΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΎΡΠΌΠ»ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ.
Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
- Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CDN
- Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΠΈΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ°, (*86)
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- (Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π½Π° packagist) ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Π³ΠΈ "laravel, lk-staticfiles"
- (Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π½Π° github) Π² Description ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° github Π²ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡ "[Larakit][lk-staticfiles] "
, (*87)
7.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CDN
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ composer.json, (*88)
{
"name": "larakit/sf-bootstrap",
"description": "sf-bootstrap",
"keywords": [
"larakit",
"laravel",
"laravel 5",
"bootstrap",
"lk-staticfiles"
],
"license": "MIT",
"version": "3.3.6",
"require": {
"larakit/sf-jquery": "*"
},
"autoload": {
"files": [
"init.php"
]
}
}
Π ΡΠ°Π·Π΄Π΅Π»Π΅ require ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ
Π·Π°Π²ΠΈΡΠΈΡ Π²Π°Ρ ΠΏΠ°ΠΊΠ΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ jQuery), Π° Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΈΡ
Π½Π΅Ρ Π²ΠΏΠΈΡΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, (*89)
{
"require":{
"larakit/lk-staticfiles":"*"
},
}
Π Π°Π²ΡΠΎΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» init.php Π²ΠΏΠΈΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ½ΠΎΠ²Π° ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, (*90)
<?php
\Larakit\StaticFiles\Manager::package('larakit/sf-bootstrap')
->usePackage('larakit/sf-jquery')
->js('//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js')
->css('//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.min.css');
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ΅!
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ·Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° "require": "/sf-Π²Π°Ρ_ΠΏΠ°ΠΊΠ΅Ρ", (*91)
7.2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΠΈΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ°
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ composer.json ΠΈ init.php. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅: Π² init.php ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΠΎ ΡΡΠ°ΡΠΈΠΊΠΎΠΉ, ΠΎΡΠΊΡΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π΅Π΅ Π²ΡΠΊΠ»Π°Π΄ΠΊΠ° Π² DOCUMENT_ROOT ΠΈΠ· vendor., (*92)
<?php
\Larakit\StaticFiles\Manager::package('larakit/sf-larakit-js')
//ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π²ΡΠΊΠ»Π°Π΄ΠΊΠ°
->setSourceDir('public')
//ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΠΠ ΠΠ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ
->usePackage('larakit/sf-jquery')
//ΠΈΡΠΊΠ°ΡΡ JS Π²Π½ΡΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ SOurceDir
->jsPackage('js/larakit.js');
ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠΊΠ»Π°Π΄ΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π²Π·ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, (*93)
./vendor/larakit/sf-larakit-js/public
ΠΈ Π²ΡΠ»ΠΎΠΆΠ΅Π½ΠΎ Π², (*94)
./public/packages/larakit/sf-larakit-js/
Π‘Π°ΠΌΠ° Π²ΡΠΊΠ»Π°Π΄ΠΊΠ° Π½Π°ΠΏΠΎΠΌΠ½Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ:, (*95)
php artisan larastatic:deploy
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π² ./public/packages/ Π²ΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· vendor ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
- ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Ρ
ΡΡ ΡΡΠ°ΡΠΈΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠΎΡΠΈΠ»ΡΡ ΠΊΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° (ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ URL ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ
ΡΡΠΈΠ»Π΅ΠΉ ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²), (*96)
8. ΠΡΠ°Π²ΠΈΠ»Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ/Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠ°ΠΊΠ°Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΡΠ΅ΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ "larakit/sf-jquery" Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ΅ ΡΠΎΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΊΠΈ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ "admin.", ΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΈ ΡΠΎΡΡΠ°:
- admin
- admin.users
- admin.news
- admin.pages, (*97)
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΈΡΠ΅ΠΌ Π² ΡΠ°ΠΉΠ»Π΅ ./app/Http/staticfiles.php:, (*98)
8.1 ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° jQuery ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΊΠΈ
\Larakit\StaticFiles\Manager::package('larakit/sf-jquery')
->setExclude('admin');
8.2 ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° jQuery ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
Π°Π΄ΠΌΠΈΠ½ΠΊΠΈ
\Larakit\StaticFiles\Manager::package('larakit/sf-jquery')
->setExclude('admin.*');
8.3 ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° jQuery Π²ΠΎ Π²ΡΠ΅ΠΉ Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅
\Larakit\StaticFiles\Manager::package('larakit/sf-jquery')
->setExclude('admin*');
8.4 ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° jQuery Π²ΠΎ Π²ΡΠ΅ΠΉ Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ
\Larakit\StaticFiles\Manager::package('larakit/sf-jquery')
->setExclude('admin*')
->setInclude('admin.users');
8.5 ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° jQuery Π½Π° Π²ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ
\Larakit\StaticFiles\Manager::package('larakit/sf-jquery')
->setExclude('*')
->setInclude('admin.users');
Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π΅ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΎΡΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠΏΡΡΠΊΠ° Π°Π²ΡΠΎΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΡΠ°ΡΠΈΠΊΠΈ., (*99)
...
Profit!