#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.js4. У меня уже есть
window.Vue = require('vue');
в app.js . Важное не требуется afaik. Когда я добавляю импорт, он говорит, что не знаетVue.component
5. Вы когда-нибудь разбирались в этом? У меня такая же проблема
Ответ №1:
Измените строку
window.Vue = require("Vue");
Для
import Vue from "Vue";