Регистрация компонента с помощью .default не работает

#laravel #vuejs2 #vue-component #vuetify.js #laravel-mix

#laravel #vuejs2 #vue-компонент #vuetify.js #laravel-mix

Вопрос:

У меня есть 2 проекта (A и B) и некоторые пакеты, которые следует использовать в обоих проектах. В A регистрация компонента работает с .default, в другом, однако, нет. Что именно мне нужно обновить, чтобы заставить его работать в B?

включен компонент vue, подобный этому: Vue.component('trm-vuetify-drawer', require('./components/DrawerApp.vue').default);

В проекте B мне пришлось бы удалить .default, чтобы использовать его правильно. Но я хочу использовать .default, поскольку компоненты поступают из пакета.

Кода больше нет. Его регистрация просто не работает.

Версии: Vue: 2.6.9 Vue-Template-Compiler: 2.6.9

Я получаю следующую ошибку:

[Предупреждение Vue]: Неизвестный пользовательский элемент: — вы правильно зарегистрировали компонент? Для рекурсивных компонентов обязательно укажите параметр «имя».

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

1. Используете ли вы laravel-mix?

2. да, я использую laravel-mix@2.0

3. Вы должны предоставить больше объяснений. покажите свой код…

4. Кода не так много. Но я добавил некоторые.

Ответ №1:

В Laravel Mix 2.0 вы еще не должны использовать .default . Это требуется только в Laravel Mix 4.0 и более поздних версиях.

Просто измените свой код на:

 Vue.component('trm-vuetify-drawer', require('./components/DrawerApp.vue'))
  

Или вы можете просто обновить Laravel Mix 4.0 , если хотите использовать .default везде.

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

1. Спасибо, это действительно помогло мне. Я обновился до laravel-mix 4.0. * поскольку регистрация происходит из пакета, и я не хочу каждый раз удалять .default.

2. @PhilippBrosig Да, извините, забыл добавить «или обновить до mix 4.0 » к моему ответу 🙂