laravelとvueを使用したアプリにおいて、SPAではなくあくまでapp.jsを経由せずにvueをbladeの要素として組み込みたいと思っているのですが、うまくいきません。
やったこととしては
- webpackに登録するためのjsファイル(今回はExampleComponentRegister.js)を記述
- ExampleComponentRegister.js内において該当するvue componentを登録
- bladeにおいてmix(ExampleComponentRegister.js)とExampleComponentを記述
といった感じです。
この方法ではbladeに表示することはできないのでしょうか。
また、表示するにはどうしたらよいのでしょうか。
よろしくお願い
webpack.min.js
1mix 2 .js("resources/js/app.js", "public/js") 3 .js("resources/js/entries/exampleComponentRegister.js", "public/js") 4 .vue() 5 .sass("resources/sass/app.scss", "public/scss");
ExampleComponent.vue
1<template> 2 <div v-text="message"></div> 3</template> 4 5<script> 6module.exports = { 7 data() { 8 return { 9 message: "This is Example", 10 }; 11 }, 12}; 13</script> 14 15<style> 16</style>
ExampleComponentRegister.js
1import Vue from "vue"; 2import ExampleComponent from "../components/ExampleComponent.vue"; 3 4new Vue({ 5 component: { 6 ExampleComponent, 7 }, 8 el: "#app", 9 data() { 10 return {}; 11 }, 12}); 13
show.blade.php
1@extends('layout') 2 3@section('content') 4<div class="container"> 5 <div id="app"> 6 <example-component></example-component> 7 </div> 8@endsection 9 10<script> 11 {{mix('js/exampleComponentRegister.js')}} 12</script>
あなたの回答
tips
プレビュー