В MoonShine можно подключить любые ваши css и js файлы.
# Глобальные ассеты
Если необходимо опубликовать ассеты глобально для всех страниц,
то можно добавить их в MoonShineServiceProvider
.
class MoonShineServiceProvider extends MoonShineApplicationServiceProvider{ //... public function boot(): void { parent::boot(); moonShineAssets()->add([ '/css/style.css', '/js/main.js', ]); } //...}
# Ассеты для ресурса/страницы
Ассеты можно добавить для ресурса или для отдельной страницы,
для этого необходимо указать свойство $assets
.
class Post extends ModelResource{ protected array $assets = [ '/css/style.css', '/js/main.js', ]; //...}
class MyPage extends Page{ protected array $assets = [ '/css/style.css', '/js/main.js', ]; //...}
# Vite
Можно также добавлять свои Vite ассеты:
use Illuminate\Support\Facades\Vite; class MoonShineServiceProvider extends MoonShineApplicationServiceProvider{ //... public function boot(): void { parent::boot(); moonShineAssets()->add([ Vite::asset('resources/js/app.js') ]); } //...}
# Конфигурация
Настроить подключение ассетов можно в файле конфигурации config/moonshine.php
// ... return [ // ... 'assets' => [ 'js' => [ 'script_attributes' => [ 'defer', 'type' => 'module' ] ], 'css' => [ 'link_attributes' => [ 'rel' => 'stylesheet' ] ] ], // ...];
# Директива
Если Вы хотите использовать стили и скрипты MoonShine за пределами админ-панели,
то необходимо подключить директиву @moonShineAssets
<head> @moonShineAssets</head>