How to setup VueJS in Laravel
npm i vue@next vue-router@next
npm i -D @vue/compiler-sfc vue-loader@next
npm i -D @vue/compiler-sfc vue-loader@next
composer require laravel/ui ( optional )
php artisan ui bootstrap ( optional )
Change your file in webpack.mix.js
mix . js ( "resources/js/app.js" , "public/js" )
. vue ( )
. sass ( "resources/sass/app.scss" , "public/css" )
. sourceMaps ( ) ;
npm install && npm run dev
Open folder resources/js/
Make folder pages and router
Create file in folder pages HomeView.vue
< template >
< div >
< h1 > This is Home View</ h1 >
</ div >
</ template >
Create file in router pages index.js
import { createRouter , createWebHistory } from "vue-router" ;
const routes = [
{
path : "/home" ,
name : "home" ,
component : ( ) => import ( "../pages/HomeView.vue" ) ,
} ,
] ;
const router = createRouter ( {
history : createWebHistory ( ) ,
routes,
} ) ;
export default router ;
< template >
< nav >
< router-link to = "/" > Home</ router-link > |
< router-link to = "/about" > About</ router-link > |
< router-link to = "/contact" > Contact</ router-link >
</ nav >
< router-view />
</ template >
import "./bootstrap" ;
import { createApp } from "vue" ;
import App from "./App.vue" ;
import axios from "axios" ;
import router from "./router" ;
const app = createApp ( App ) ;
app . config . globalProperties . $axios = axios ;
app . use ( router ) ;
app . mount ( "#app" ) ;