Ad

Laravel Can't Find The Vue Instance

- 1 answer

Laravel was installed and so was Vue:

composer require laravel/ui

php artisan ui vue

npm install && npm run dev`

However, Laravel cannot find the Vue instance that is created in app.js.

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>

        <script src="js/app.js"></script>

    </head>

    <div id="app">
    <example-component></example-component>
    </div>

    <script>
    </script>
  </body>
</html>

The error that appears in the browser console showing that Laravel can't fine the Vue instance named #app:

[Vue warn]: Cannot find element: #app

Any help would be greatly appreciated:

app.js

require('./bootstrap');

window.Vue = require('vue');

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",
        "bootstrap": "^4.0.0",
        "cross-env": "^7.0",
        "jquery": "^3.2",
        "laravel-mix": "^5.0.1",
        "lodash": "^4.17.13",
        "popper.js": "^1.12",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.20.1",
        "sass-loader": "^8.0.0",
        "vue": "^2.5.17",
        "vue-template-compiler": "^2.6.10"
    }
}
Ad

Answer

The only way I was able to get Vue working on Laravel was to use this as the correct example: https://github.com/connor11528/laravel-vue-spa-tailwindcss

Ad
source: stackoverflow.com
Ad