Home > database >  Uncaught ReferenceError: Vue is not defined in Laravel
Uncaught ReferenceError: Vue is not defined in Laravel

Time:01-12

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');
  • Related