0
votes

Initially, the vue componenets were working and loading, however all of a sudden I started to get this error [Vue warn]: Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the "name" option. I havent changed any of the code and I get this error on new files also.

<template>
<v-app>
    <div class="example-component">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">Example Component</div>

                    <div class="card-body">
                        I'm an example component.
                    </div>
                </div>
            </div>
        </div>
    </div>
</v-app>
</template>

<script>
    export default {
        mounted() {
            console.log('Component mounted.')
        }
    }
</script>

@extends('layouts.app')

@section('content')
<div id="app">
<ExampleComponent />
</div>
@endsection

/**
 * 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.
 */

require('./bootstrap');

window.Vue = require('vue');

/**
 * The following block of code may be used to automatically register your
 * Vue components. It will recursively scan this directory for the Vue
 * components and automatically register them with their "basename".
 *
 * Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
 */

// const files = require.context('./', true, /\.vue$/i)
// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))

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

/**
 * 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',
});

This is my vue file, home.blade.php file that I want to use my vue component in, and my app.js file

2

2 Answers

2
votes

The name of the component is 'example-component' so you should change

@section('content')
<div id="app">
<ExampleComponent />
</div>
@endsection

to

@section('content')
<div id="app">
<example-component />
</div>
@endsection
0
votes
  1. Check your Component name as Imported

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

  3. In this Import component Name is example-component Sometimes you need to run command npm update vue-loader