in laravel application using vue 3. when I try to load welcome.blade.php file it is not visible vue file content and console got following error Uncaught ReferenceError: Vue is not defined
<anonymous> http://localhost:8000/js/app.js:37486
app.js code line 37486 is as var _Vue = Vue,
my app.js
require('./bootstrap');
const { createApp } = Vue;
Vue.component('mainapp', require('./components/mainapp.vue').dafault)
const app = createApp({
/* root component options */
});
app.mount('#app');
and welcome.blade.php
<html>
<body>
<div id="app">
<mainapp></mainapp>
</div>
</body>
<script src="{{mix('/js/app.js')}}"></script>
</html>
how could I fix this?
I need some answers to solve this prob
CodePudding user response:
I Think you will need something like this in your app.js file:
/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
import Vue from 'vue';
require('./bootstrap');
Vue.component('mainapp', require('./components/mainapp.vue').dafault)
/**
* Next, we will create a fresh Vue application instance and attach it to
* the page. Then, you may begin adding components to this application
* or customize the JavaScript scaffolding to fit your unique needs.
*/
const app = new Vue({
el: '#app'
});
Or do it in this way for Vue 3.0 :
require('./bootstrap');
import { createApp } from 'vue';
import mainapp from './components/mainapp.vue';
createApp({
components: {
mainapp,
}
}).mount('#app');