我如何集成vue-router和laravel?

时间:2018-03-19 20:47:49

标签: laravel vue.js

目前我正在使用vue和laravel.Vue用于后端api的前端和laravel。我正在尝试使用带有laravel的vue-router但是无法使其工作。 我想要做的是达到http://localhost/ec/public/#/login
app.js:

require('./bootstrap');

window.Vue = require('vue');
import Router from './routes.js'


Vue.component('example-component', require('./components/ExampleComponent.vue'));
Vue.component('login', require('./components/Login.vue'));
Vue.component('register', require('./components/Register.vue'));

const app = new Vue({
    el: '#app',
    router:Router
});

我在相同的dir app.js中创建了一个名为routes.js的文件:

import VueRouter from 'vue-router'
import Vue from 'vue'
import Login from './components/Login.vue'

Vue.use(VueRouter);

const router = new VueRouter({
routes:[
{
path:"/login",
component:Login

}


]



})
export default router

welcome.blade.php:

<!doctype html>
<html lang="{{ app()->getLocale() }}">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="csrf-token" content="{{ csrf_token() }}">
        <title> site</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">


    </head>
    <body>
       <div id="app">



       </div>







       <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
       <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
       <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
       <script src="{{ asset('js/app.js') }}"></script>
    </body>
</html>

如果我发布welcome.blade.php,我会发现组件未注册错误

1 个答案:

答案 0 :(得分:1)

您需要在<router-view></router-view>

中致电welcome.blade.php

更新

我可以说导入的顺序,尝试导入Vue 1st然后导入vue-router。否则你不能跳过<router-view></router-view>,因为它是vue-router本身的一个元素。