LoginSignup
2
3

More than 1 year has passed since last update.

【簡単3 steps】Vue.jsサンプルをLaravelアプリに実装する方法

Last updated at Posted at 2021-09-12

Vue.jsサンプルをLaravelアプリに実装する方法.jpg

今回の記事は下記の方におすすめです!

Laravelの基礎はOK Vue.jsの基礎はOK でもLaravelでVue.jsサンプルを使う方法が不明

自分でゴリゴリコードを書くのもありですが、最初のうちは「Vue.js」のサンプルをLaravelのサイトに埋め込むところから始めるのはありかもしれません。

今回は、「Vue.js」のサンプルが多数紹介されている海外のサイトを紹介しつつ、サンプルを実際の自分のプロジェクトに埋め込む方法について共有いたします!

今回の記事が参考になれば幸いです:relaxed:
なお、間違いやご指摘ありましたら、コメント下さると幸いです。


実行環境

  • PHP 7.4
  • Laravel 6.2
  • Vue.js 2.5

ゴール

  • Laravelのアプリ内でvue.jsのサンプルを実装する

ちゅうい!!

なお、Vue.jsがコンパイルできる環境が構築されている前提で話を進めていきます。 まだの方は、下記の記事の1)~4)を完了させ、「npm run dev」でコンパイルできる状態にしてください。

コンパイルまでの参考記事:【初心者向】Laravel 6系でVue.jsを使用する方法


  1. laravel/uiパッケージをインストール 「composer require laravel/ui:^1.0 --dev」
  2. vue.jsのファイル生成 「php artisan ui vue」
  3. 依存パッケージのインストール 「npm install」
  4. js/sassファイルのコンパイル実行 「npm run dev」

ココまで↑は最低限実行しておいてください。詳細は上記記事にて。

Vue.jsサンプルサイト

ちなみに下記のサイトではVue.jsを使ったサンプルがまとめられています:relaxed:
「スクロール」や「ポップアップ」など便利な部品が多数まとめられているので、是非一度目を通してみてください。

サンプルまとめサイト:Vue.js Examples

VuejsサンプルをLaravelアプリに実装する方法_2021-09-12.png

↑こんな感じで、サンプルによっては、Gif動画形式で、挙動を確認できるので、イメージしやすいかと思います。

今回埋め込むサンプル「scroll」

今回は、「スクロール」をLaravelサイトに埋め込んでいこうと思います。画面をスクロールすると、画面上部緑の進捗バーが進捗します。

今回Laravelで使用するサンプル:scroll progress bar

↓緑のバーが進捗

VuejsサンプルをLaravelアプリに実装する方法_スクロール_2021-09-12.jpg

手順

  1. Vue.jsサンプルをインストール
  2. Laravelと紐付ける
  3. インストールしたVue.jsサンプルをコンパイル

1)Vue.jsサンプルをインストール

npm i vue-scroll-progress --save

まず、パッケージをインストールします。上記コマンドで「node_modules」ディレクトリ以下に「vue-scroll-progress」がインストールされるかと思います。

この時点でエラーが出た方は、ご自分の開発環境のバージョンとサンプルのバージョンが競合している可能性があるので、競合しなさそうな(エラーにならない)ものをサンプルサイトから探してみてください。

2)Laravelと紐付ける

ただインストールしただけでは使用できません。
Laravelのアプリ側からは、見えていないからですね。

そこでLaravelのアプリ側が認識してくれる場所に
「この機能を使いますよー」宣言をします。

具体的に言うと、「resources/js/app.js」ファイルへの追記ですね。

import VueScrollProgress from 'vue-scroll-progress';
Vue.use(VueScrollProgress);

「resources/js/app.js」ファイルに上記の記述を追加してください。

resources/js/app.js

// (省略)

require('./bootstrap');
window.Vue = require('vue');

// 以下2行追加
import VueScrollProgress from 'vue-scroll-progress';
Vue.use(VueScrollProgress);

// (省略)

Vue.component('example-component', require('./components/ExampleComponent.vue').default);

「import」の意味がわからない方はこちらの記事を参考にしてみてください。

参考:jsのimportとrequireの違い
参考:JavaScriptのimportとは?

機能ごとに分割したjsファイルを、読み込んで利用する=インポートするイメージです。

3)インストールしたVue.jsサンプルをコンパイル

npm run dev

上記コマンドでコンパイルを実行すると...

VuejsサンプルをLaravelアプリに実装する方法_完成_2021-09-12.png

進捗バーが表示されました!
(ちょっとわかりにくいけど、一番上の緑のボーダーですね)

応用事例

これを応用すれば、ユーザーが入力するフォーム画面で
進捗を表示することで、途中での離脱を防ぐ効果なんかも得られそうですね:smile:

今回は、「app.js」ファイルに記述しましたが、読み込みたい部分で
部品として使うこともできるようですよ。

<template>
  <VueScrollProgress></VueScrollProgress>
</template>

今回の記事は以上になります:relaxed:
お役に立てたなら幸いです!!

参考

たった3ステップ!Laravelでnpmパッケージを使う方法

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3