Reputation: 395
Im following this YT tutorial, I followed the steps but it seems that the ExampleComponent
does not show. The App.vue
shows but not the route.
Here are my code:
app.js
import Vue from 'vue';
import router from './router';
import App from './components/App';
require('./bootstrap');
const app = new Vue({
el: '#app',
components: {
App
},
router,
});
router.js
import Vue from 'vue';
import VueRouter from 'vue-router';
import ExampleComponent from './components/ExampleComponent';
Vue.use(VueRouter);
export default new VueRouter({
routes : [
{ path : '/', component : ExampleComponent }
],
mode: 'history'
});
App.vue
<template>
<div>
<h1> Hello!</h1>
<router-view></router-view>
</div>
</template>
<script>
export default {
name : "App"
}
</script>
<style scoped>
</style>
app.blade.php
<body>
<div id="app">
<App></App>
</div>
</body>
web.php
Auth::routes();
Route::get('/{any}', 'HomeController@index')->where('any', '.*');
Thanks in advance.
Upvotes: 4
Views: 1250
Reputation: 1619
The mode: 'hash'
is a great solution.
But if u want to use mode: "history"
Then you have to add base
Parameter . Base
is useful when the application is hosted inside of a folder like http://localhost/laravel-8/
. So code rewrite like following -
export default new VueRouter({
mode: "history",
base: '/laravel-8/',
fallback:true,
routes : [
{ path : '/', component : ExampleComponent }
]
})
Instead of /laravel-8/
, you use your project subdirectory name.
Documentation: https://router.vuejs.org/guide/migration/#moved-the-base-option
Upvotes: 0
Reputation: 1
Change the mode from history
to hash
because the history mode in this case is reserved to Laravel routing system :
export default new VueRouter({
routes : [
{ path : '/', component : ExampleComponent }
],
mode: 'hash'
});
Upvotes: 4