npmを起動してみる
npm run watchを叩くと以下のエラーメッセージが出力
terminal
'cross-env' is not recognized as an internal or external command,
operable program or batch file.
こちらのリンクを参考にして解決
https://stackoverflow.com/questions/45034581/laravel-5-4-cross-env-is-not-recognized-as-an-internal-or-external-command
Bootstrap-Vueを実装するための環境構築
こちらのドキュメントを参考に実施(https://bootstrap-vue.js.org/docs)
npmでbootstrap-vueをインストール
terminal
# With npm
npm install vue bootstrap-vue bootstrap
bootstrap-vueをインポート
resources\js\bootstrap.js
import Vue from 'vue'
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue/dist/bootstrap-vue.css'
jsとBladeをVueに合わせて構成
resources\js\components\example.vue
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ greeting }}</div>
<div class="card-body">
I'm an example component.
</div>
</div>
</div>
</div>
</div>
</template>
<script>
module.exports = {
data: function() {
return {
greeting: 'hello'
}
}
}
</script>
resources\js\app.js
require('./bootstrap');
// Bootstrap-vueの実装
import Vue from 'vue'
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue/dist/bootstrap-vue.css'
window.Vue = require('vue');
import ExampleComponent from './components/example.vue'
Vue.component('example-component', ExampleComponent)
new Vue({
el: '#app'
});
resources\views\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">
<link rel="stylesheet" href="{{ mix('/css/app.css') }}">
<title>Laravel</title>
</head>
<body>
<div id="app">
<example-component></example-component>
</div>
</body>
<script src="{{ mix('/js/app.js') }}"></script>
</html>
npmとapacheを起動
npm起動
npm run watch
DONE Compiled successfully in 8718ms 22:31:38
Asset Size Chunks Chunk Names
/css/app.css 0 bytes /js/app [emitted] /js/app
/js/app.js 3.04 MiB /js/app [emitted] /js/app
artisanコマンドでサーバー起動
php artisan serve
Laravel development server started: http://127.0.0.1:8000
結果画面確認
OK
Bootstrap-vueの実装
ナビゲーションバーに実装
コンポネントを作成して同じくapp.jsで定義する
resources\js\app.js
import NavVar from './components/navbar.vue'
Vue.component('navigation-bar', NavVar)
定義したコンポネントをタグで作成
resources\views\welcome.blade.php
<div id="app">
<navigation-bar></navigation-bar>
<example-component></example-component>
</div>