使用Mix无法在Laravel中检测到VueJ

时间:2018-10-17 15:54:45

标签: javascript laravel vue.js laravel-mix laravel-5.7

我正在尝试使用laravel 5.7设置VueJ并进行混合,这只是说未检测到VueJ。我已经运行npm install。这是我的欢迎视图:

<!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 rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.css">

        <style type="text/css">body { padding-top: 40px; }</style>
    </head>
    <body>
        <div id="root" class="container">
            <message title="Hello World" body="Lorem ipsum dolor sit amet."></message>
    </div>
    </body>
</html>

这是我的应用js:

require('./bootstrap');

window.Vue = require('vue');

Vue.component('message', require('./components/Message.vue'));

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

我不知道为什么VueJ无法使用。任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:3)

如前所述,您错过了脚本标签。

如果您要编译源代码,则应使用RadioCheckboxWrapper而不是mix(),因为它将尊重asset()mix.version()之类的东西。

例如

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

答案 1 :(得分:1)

您需要将此脚本添加到index.blade.php

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

答案 2 :(得分:0)

谢谢,这真是神奇

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

在laravel中,我将其放置在刀片HTML内,然后重新加载页面F12,并且vue选项卡正常工作,现在我可以看到vue的标签。