Laravel 5.4 Vue.JS无法挂载组件:模板或渲染函数未定义

laravel Vue.js

小哥Green小哥

2020-03-17

从Vue.js开始,想尝试一下laravel附带的示例。

没有显示任何组件,并且在控制台中我得到了

[Vue warn]: Failed to mount component: template or render function not defined.

found in

---> <Example>
   <Root>

不是全新安装,从5.2-> 5.3-> 5.4升级

资源/资产/js/app.js

/**
 * First we will load all of this project's JavaScript dependencies which
 * includes Vue and other libraries. It is a great starting point when
 * building robust, powerful web applications using Vue and Laravel.
 */

require('./bootstrap');

window.Vue = require('vue');

/**
 * Next, we will create a fresh Vue application instance and attach it to
 * the page. Then, you may begin adding components to this application
 * or customize the JavaScript scaffolding to fit your unique needs.
 */
Vue.component('example', require('./components/Example.vue'));

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

资源/资产/js/components/Example.vue

<template>
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Example Component</div>

                <div class="panel-body">
                    I'm an example component!
                </div>
            </div>
        </div>
    </div>
</div>
</template>

<script>
    export default {
        mounted() {
            console.log('Component mounted.')
        }
    }
</script>

这是我拥有js的刀片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Testing</title>
    <link rel="stylesheet" href="css/app.css">
    <meta name="csrf-token" content="{{ csrf_token() }}">
</head>
    <body>
    <div id="app">
        <example></example>
    </div>
        <script src="js/app.js" charset="utf-8"></script>
    </body>
</html>

webpack.mix.js

let mix = require('laravel-mix');

mix.js('resources/assets/js/app.js', 'public/js')
    .sass('resources/assets/sass/app.scss', 'public/css');

第1884篇《Laravel 5.4 Vue.JS无法挂载组件:模板或渲染函数未定义》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
Green阿飞泡芙 2020.03.17
  • 删除文件夹node_modules
  • 运行npm install
  • 将以下行添加到package.json

    "webpack": "cross-env NODE_ENV=development webpack --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    
  • npm运行webpack

  • npm run watch

  • 不要改变其他任何东西

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android