#javascript #vue.js #vue-component #storybook
#javascript #vue.js #vue-компонент #сборник рассказов
Вопрос:
Есть ли способ зарегистрировать глобальные компоненты Vue в Storybook, чтобы он был совместим с глобально зарегистрированными компонентами Vue в Vue-CLI?
Ответ №1:
Вам просто нужно добавить несколько строк в .storybook/preview.js
файл.
Vue.js 3 .
import {app} from '@storybook/vue3';
app.component('router-link', MockRouterLink);
Vue.js 2 .
import Vue from 'vue';
Vue.component('router-link', MockRouterLink);
Но я не тестировал последний, потому что я использую Storybook только с Vue.js 3 приложения.
Комментарии:
1. спасибо, спасибо, спасибо! документирована ли где-нибудь технология Vue 3?
2. Я считаю, что это нигде не задокументировано. В документации упоминается только что-то о глобальном коде. Я думаю, что нашел решение, просмотрев их исходный код .
3. снимаю шляпу перед вами, сэр. я мог бы продолжить и отправить PR на их GitHub, чтобы добавить этот небольшой фрагмент, если вы не возражаете?
Ответ №2:
Вы можете просто использовать эти строки в preview.js
import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);
Vue.component('router-link', Vue.component('RouterLink'));
export const decorators = [(story) => ({
components: {story},
template: '<story />',
router: new VueRouter()
})];
Моя проблема с vue-маршрутизатором решается этим