Santanu Biswas
Santanu Biswas

Reputation: 173

Using Vuetify in Laravel (Error: Vuetify is not properly initialized)

I am using Laravel 5.8 which includes Vue JS in it by default and I want to use Vuetify. Here is what I have done

I have followed exactly what is written in the blog https://codersdiaries.com/laravel-vuetify/ and I am getting an error message in the console that [Vue warn]: Error in beforeCreate hook: "Error: Vuetify is not properly initialized

Here are my files

welcome.blade.php

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Laravel</title>

    <link href='https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons' rel="stylesheet">

    <script src="{{ asset('js/app.js') }}" defer></script>

</head>

<body>
    <v-app id="app">
        <h1>Test Vuetify</h1>
    </v-app>
</body>

</html>

app.js

window.Vue = require('vue');
import Vuetify from 'vuetify'
Vue.use(Vuetify)


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

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

package.json

{
  "private": true,
  "scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "npm run development -- --watch",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
  },
  "devDependencies": {
    "axios": "^0.19",
    "cross-env": "^5.1",
    "laravel-mix": "^4.0.7",
    "lodash": "^4.17.13",
    "resolve-url-loader": "^2.3.1",
    "sass": "^1.15.2",
    "sass-loader": "^7.1.0",
    "vue": "^2.5.17",
    "vue-template-compiler": "^2.6.10"
  },
  "dependencies": {
    "vuetify": "^2.0.18"
  }
}

Upvotes: 0

Views: 2184

Answers (1)

Sami Kuhmonen
Sami Kuhmonen

Reputation: 31203

You aren’t giving Vue an instance of Vuetify:

const vuetify = new Vuetify();

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

Upvotes: 6

Related Questions