简体   繁体   English

在Laravel 5.7应用程序中未加载Vue文件

[英]Not loading vue file in Laravel 5.7 application

working with laravel 5.7 and vue.js my app.js file is as following, 使用laravel 5.7和vue.js,我的app.js文件如下所示,

require('./bootstrap');
window.Vue = require('vue');
import VueRouter from 'vue-router'
Vue.use(VueRouter)

let routes = [
    { path: '/dashboard', component: require('./components/Dashboard.vue') },
    { path: '/profile', component: require('./components/Profile.vue') }
  ]

  const router = new VueRouter({
    routes // short for `routes: routes`
  })
Vue.component('example-component', require('./components/ExampleComponent.vue').default);
const app = new Vue({
    el: '#app',
    router
});

and I need link following link with vue file 我需要链接以下链接与vue文件

<router-link to="/dashboard" class="nav-link">

and Dashboard.vue file is like this 和Dashboard.vue文件是这样的

<template>
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card card-default">
                    <div class="card-header">Dashboard Component</div>

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

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

but when I click above link to dashbord.vue file it is not loading. 但是,当我单击以上指向dashbord.vue文件的链接时,它没有加载。 only display url in the address bar. 仅在地址栏中显示网址。 my console error is as following [Vue warn]: Failed to mount component: template or render function not defined. found in ---> <Anonymous> <Root> 我的控制台错误如下[Vue warn]: Failed to mount component: template or render function not defined. found in ---> <Anonymous> <Root> [Vue warn]: Failed to mount component: template or render function not defined. found in ---> <Anonymous> <Root>

how can fix this error 如何解决这个错误

You need add App.vue 您需要添加App.vue

<template>
  <div>
    <router-link to="/dashboard" class="nav-link">Dashboard</router-link>
  </div>
</template>
<script>
  export default {
    // some code here if needed
  }
</script>

and then use it in main.js 然后在main.js中使用它

require('./bootstrap'); // maybe better use import "./bootstrap"

import Vue from 'vue';
import VueRouter from 'vue-router';

import App from "./App.vue";
import Dashboard from './components/Dashboard.vue';
import Profile from './components/Profile.vue';
import ExampleComponent from './components/ExampleComponent.vue';

Vue.use(VueRouter)

window.Vue = Vue; // why you do that???

let routes = [
    { path: '/dashboard', component: Dashboard },
    { path: '/profile', component: Profile }
  ]

  const router = new VueRouter({
    routes // short for `routes: routes`
  });

Vue.component('example-component', ExampleComponent);
new Vue({
    router,
    render: (h) => h(App)
}).$mount('#app');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM