{video} 細かに説明したスクリーンキャストを用意している、Livewireに驚いてください。
動作要件
- PHP7.2.5以上
- Laravel7.0以上
パッケージ要件の完全なリストについては、Github上のcomposer.jsonファイルをご覧ください。
パッケージのインストール
composer require livewire/livewire
アセットの取り込み
次のBladeディレクティブをテンプレートの
head
タグと、body
タグ終わりの直前に追加します。<html> <head> ... @livewireStyles </head> <body> ... @livewireScripts </body> </html>
タグ記法でも使用できます。
<livewire:styles /> ... <livewire:scripts />
これだけです。これがLivewireを使用開始するのに必要なことのすべてです。このページの他の部分はすべてオプションです。
設定ファイルのリソース公開
Livewireは、そのまま使用できる「ゼロ設定」を目指していますが、一部のユーザーには設定オプションが必要でしょう。
Livewireの設定ファイルは、次のArtisanコマンドによりリソース公開できます。
php artisan livewire:publish --config
フロントエンドのアセットの公開
Laravelを通さずに、WebサーバへJavaScriptのアセットをホストする方法がお好みでしたら、
livewire:publish
コマンドを使ってください。php artisan livewire:publish --assets
将来のアップデートにより問題が起きるのを防ぐために、
composer.json
ファイルのpost-autoload-dump
スクリプトへコマンドを追加しておくことを強く推奨します。{ "scripts": { "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi", "@php artisan vendor:publish --force --tag=livewire:assets --ansi" ] } }
アセットのベースURLの設定
デフォルトでLivewireは、アプリの
/livewire/livewire.js
ルートからJavaScript(livewire.js
)を提供します。生成される実際のスクリプトタグは、デフォルトで
<script src="/livewire/livewire.js"></script>
です。このデフォルト動作が機能しなくなるシナリオが2つあります。
Livewireのアセットを公開し、"assets"のようなサブフォルダーから提供する場合。
アプリをドメインルート以外のパスでホストする場合。たとえば、
https://your-laravel-app.com/application
のURL。この場合、実際のアセットは/application/livewire/livewire.js
で提供されますが、生成するスクリプトタグは/livewire/livewire.js
から取得しようとします。どちらかの問題を解決するには、
config/livewire.php
の"asset_url"を設定し、src=""
属性の先頭部分に追加する内容をカスタマイズします。たとえば、Livewireの設定ファイルをリソース公開した後、上記の2つの問題を修正する設定は次のようになります。
'asset_url' => '/assets'
'asset_url' => '/application'