(версия Vue - 2, Vuetify и Storybook - последняя версия)
Рассмотрим следующий простой компонент кнопки:
<template>
<v-btn round
color="primary">
<slot></slot>
</v-btn>
</template>
<script>
export default {
name: "test-button",
}
</script>
В файле компонента приложения он вызывается следующим образом:
<v-app>
<v-layout column justify-center>
<v-layout row justify-center align-center>
<test-button @click="testBtnClicked">
Click It
</test-button>
</v-layout>
</v-layout>
</v-app>
И настройка Vuetify выглядит так в main.js:
import Vue from 'vue';
import 'vuetify/dist/vuetify.min.css';
import Vuetify from "vuetify";
import colors from 'vuetify/es5/util/colors';
Vue.use(Vuetify, {
theme: {
primary: colors.indigo.base,
info: colors.blue.lighten2,
accent: colors.green.lighten1,
error: colors.red.darken2
}
});
Пока все хорошо, я получаю красивую кнопку индиго в середине кадра, котораяэто то, чего я ожидал.
Теперь в конфигурации Storybook я использую те же строки, что и в main.js, для настройки Vuetify, и мой файл Storybook выглядит следующим образом:
import { storiesOf } from "@storybook/vue";
import TestButton from "./TestButton.vue";
storiesOf("TestButton", module)
.add("button template", () => ({
template: '<test-button :rounded="true">round</test-button>',
components: {TestButton}
}))
Это визуализирует кнопку в сборнике рассказов, но настройки темы не происходят: кнопка не индиго, а белая.Остальные атрибуты Vuetify кажутся хорошими - это похоже на округленную кнопку Vuetify, с белым текстом.
Я не уверен, является ли это проблемой Vuetify или проблемой Vue или проблемой Storybook (илиошибка пользователя с моей стороны).Если бы кто-то сделал это, я был бы признателен за понимание.
Вот мой webpack.config.js (в .storybook):
module.exports = (baseConfig, env, defaultConfig) => {
defaultConfig.plugins.push(new VueLoaderPlugin());
return defaultConfig;
};