Laravel 找不到 Vue 实例

Posted

技术标签:

【中文标题】Laravel 找不到 Vue 实例【英文标题】:Laravel can't find the Vue instance 【发布时间】:2020-07-08 11:46:18 【问题描述】:

安装了 Laravel 和 Vue:

composer require laravel/ui

php artisan ui vue

npm install && npm run dev`

但是,Laravel 找不到 app.js 中创建的 Vue 实例。

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>

浏览器控制台出现的错误,显示 Laravel 无法对名为#app 的 Vue 实例进行精细处理:

[Vue warn]: Cannot find element: #app

任何帮助将不胜感激:

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"
    

【问题讨论】:

您尝试将这些&lt;example-component&gt;&lt;/example-component&gt; 放在@section @endsection 之外。只是检查组件是否真的不起作用。 ,有什么错误吗? 安装 vuejs devtools 扩展/插件到浏览器(如果还没有)。只需删除@section @endsection 并将组件放入体内即可。并告诉我ExampleComponent 是否存在使用开发工具。 (用于测试目的) 您的welcome.blade.php 似乎没有@extends() 任何布局/刀片文件,因此@section ... @endsection 之间的任何内容都不会输出。从您的welcome.blade.php 中删除@section('content')@endsection 【参考方案1】:

我能够让 Vue 在 Laravel 上工作的唯一方法是使用这个作为正确的例子: https://github.com/connor11528/laravel-vue-spa-tailwindcss

【讨论】:

以上是关于Laravel 找不到 Vue 实例的主要内容,如果未能解决你的问题,请参考以下文章

Gulp:找不到模块'laravel-elixir-vue-2'

Laravel + Vue JS 路由显示找不到页面

laravel + mix + vue 路由器错误:找不到导出'createStaticVNode'(导入为'_createStaticVNode')

在 Vue 3 和 Laravel 的“vue”中找不到导出“默认”(导入为“Vue”)

在 laravel 5.3 中调用 SEOStats 实例时找不到类 'SEOstats\SEOstats'

在提交 Vue js 和 Laravel 时找不到 POST 404?