Неизвестный пользовательский элемент: x при использовании Buefy

Я следую рекомендациям Buefy по

npm install Buefy

В main.ts

import Vue from 'vue';

import Buefy from 'buefy';

import axios from 'axios';
import VueAxios from 'vue-axios';

import 'buefy/dist/buefy.css';

import App from './App.vue';
import router from './router';
import store from './store';

Vue.config.productionTip = false;

Vue.use(VueAxios, axios, Buefy);

new Vue({
  router,
  store,
  render: h => h(App),
}).$mount('#app');

В Home.vue (просмотр)

<section>
    <b-button @click="clickMe">
       Click Me
    </b-button>
</section>

Затем, когда я бегу, я получаю эту ошибку

Unknown custom element: <b-button> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

found in

---> <Home> at src/views/Home.vue
       <App> at src/App.vue
         <Root>

Я думаю, что Vue.use (Buefy) загружает все компоненты?

Что мне не хватает, чтобы Buefy работал?


person Steve Lam    schedule 08.02.2020    source источник


Ответы (2)


Вы можете удалить axios из экземпляра Vue Vue.use (), потому что axios еще не является плагином. Вместо этого вы можете использовать с ним оператор, чтобы получить к нему глобальный доступ.

import Axios from 'axios'
Vue.prototype.$http = Axios;

Теперь вы сможете получить доступ, используя this. $ Http.post (https://api.com) .then () .catch () Обратите внимание, что use принимает первый аргумент, вы должны использовать несколько Vue.use () для позволить плагинам работать хорошо

person BrianDev    schedule 12.07.2020

Мне пришлось включить следующие строки в свой tests/setup.js, чтобы компоненты регистрировались во время настройки теста.

import Buefy from 'buefy';
Vue.use(Buefy)

Мой main.js не был выполнен для тестов.

Я новичок в тестировании с помощью шуток, так что, возможно, это чудовище, и есть способы сделать это лучше. Но у меня это сработало.

person Jesus Monzon Legido    schedule 27.10.2020