Laravel-Mix: Vue недоступен в app.js и bootstrap.js после обновления Laravel-Mix до версии v6

#javascript #laravel #vue.js #laravel-mix

#javascript #laravel #vue.js #laravel-mix

Вопрос:

Итак, я только что обновился с Laravel-Mix v1 до версии 6.

Например, в app.js я делаю следующее, чтобы зарегистрировать все компоненты Vue:

 const files = require.context('./', true, /.vue$/i)
files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key)))
 

Но я получаю эту ошибку:

app.js:17638 Uncaught ReferenceError: Vue is not defined

Я прочитал об этом и добавил эти строки в webpack.mix.js:

 resolve: {
    alias: {
        vue: 'vue/dist/vue.js'
    }
}
 

но, к сожалению, это ничего не дает. Все та же ошибка.

Когда я добавляю import Vue from 'vue/dist/vue.js' поверх app.js и bootstrap.js Я больше не получаю эти ошибки, но код для регистрации компонентов vue не работает.

Bootstrap.js : https://www.codepile.net/pile/8rX4Qlrm package.json: https://www.codepile.net/pile/JBA4NYLk

У кого-нибудь есть идея, что здесь происходит? Спасибо!

Комментарии:

1. пожалуйста, поделитесь своими app.js package.json файлами и

2. Bootstrap.js : codepile.net/pile/8rX4Qlrm package.json: codepile.net/pile/JBA4NYLk

3. добавьте строку window.Vue = require('vue'); чуть ниже import Vue from 'vue'; в app.js

4. У меня уже есть window.Vue = require('vue'); в app.js . Важное не требуется afaik. Когда я добавляю импорт, он говорит, что не знает Vue.component

5. Вы когда-нибудь разбирались в этом? У меня такая же проблема

Ответ №1:

Измените строку

 window.Vue = require("Vue");
 

Для

 import Vue from "Vue";