LaravelにVue.jsを導入する方法

Laravel

みなさん、こんにちは!

今回はLaravelにVue.jsを導入する方法をハンズオンで解説していきます!

読者
読者

「LaravelにVue.jsを導入したいけど、どうやってやるの…?」

「LaravelにVue.jsを導入する方法を忘れてしまった!」

こんな方には参考になる内容になっているかと思います。

Vue.jsの導入方法

Laravelには標準で「Vite」というフロントエンドのビルドツールが入っているので、こちらを使ってVue.jsを導入していきます。

まず、「vitejs/plugin-vue」というViteの公式プラグインをインストールしていきます。

npm install @vitejs/plugin-vue

vitejs/plugin-vueをより深く知りたい方は下記を除いてみてください。

vite-plugin-vue/packages/plugin-vue at main ?? vitejs/vite-plugin-vue
Vite Vue Plugins. Contribute to vitejs/vite-plugin-vue development by creating an account on GitHub.

次に、vite.config.jsを開き、Vueの設定を行います。

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import tailwindcss from '@tailwindcss/vite';
import vue from '@vitejs/plugin-vue'; // 追加

export default defineConfig({
    plugins: [
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
        }),
        tailwindcss(),
        vue(), // 追加
    ],
});

resources/js/App.vueを作成します。

<script setup>
</script>

<template>
    <h1>トップページ</h1>
</template>

resources/js/bootstrap.jsを編集していきます。

import { createApp } from 'vue';
import App from './App.vue';

createApp(App).mount('#app');

bootstrap.jsはフロントエンドのリソースをビルドする際に最初に読み込まれます。
コードの意味としては、IDが「app」と指定されている要素にVueインスタンスをマウント(紐付け)する、というような意味になります。
そのため、「app」という名前でIDを付与した要素を作っておく必要があります。
welcome.blade.phpを下記のように編集していきましょう。

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>
        @vite(['resources/css/app.css', 'resources/js/app.js'])
    </head>
    <body>
        <div id="app"></div>
    </body>
</html>

@vite(['resources/css/app.css', 'resources/js/app.js'])がポイントで、Viteを使うときはこのようにCSSとJavaScriptを読み込みます。

最後に、動作を確認していきます。

npm run dev

ターミナルの別タブでLaravel組み込みのWebサーバーも起動します。

php artisan serve

以下のように表示できたら成功です。

トラブルシューティング

「vitejs/plugin-vue」をインストールする際、下記のようにインストールしていました。

npm install @vitejs/plugin-vue

この場合、「vitejs/plugin-vue」の最新版をインストールすることになります。

もしかしたらバージョンの問題でエラーが発生することがあるかもしれません。
その場合は、エラーメッセージをよく読みつつ、下記のようにバージョン指定してダウングレードすることをおすすめします。

# バージョン指定でインストール
npm uninstall @vitejs/plugin-vue
npm install @vitejs/plugin-vue@4.0.0

それでは、今回は以上です!

コメント

タイトルとURLをコピーしました