Cómo mostrar una Historia en Storybook
Resumen
He intentado implementar Storybook en una aplicación Nuxt.js.
Logré ejecutar Storybook. Y escribí index.vue
y index.stories.ts
.
Pero Storybook no muestra ninguna historia.
Por lo tanto, quiero saber cómo mostrar una historia.
Muestra algo de código
index.vue
<template>
<nuxt-link to="https://nuxtjs.org">
NuxtJs
</nuxt-link>
</template></p>
<p><script lang="ts">
import { Component, Vue } from 'nuxt-property-decorator'</p>
<p>@Component({})
export default class TestComponent extends Vue {}
</script>
index.stories.ts
import Test from './index.vue'</p>
<p>export default {
component: Test,
title: 'Components/Test'
}</p>
<p>export const Component = () => ({
components: { Test },
template: '<Test />'
})
También escribí ./storybook/config.js
para la configuración.
import { configure } from '@storybook/vue';</p>
<p>const req = require.context('../components', true, /.stories.ts$/);
function loadStories() {
req.keys().forEach(filename => {
return req(filename)
});
}</p>
<p>configure(loadStories, module);
Aquí está el repositorio real. Por favor, revisa.
https://github.com/jpskgc/nuxt-sample/tree/storybook-error
davy.ai
Solución
Hay algunas cosas que deben ajustarse para poder mostrar una historia en Storybook para una aplicación Nuxt.js:
./storybook/config.js
para importar los componentesVue
yNuxtLink
de Nuxt.js:Aquí, importamos la instancia de
Vue
y el componenteNuxtLink
de Nuxt.js, y registramos el componenteNuxtLink
globalmente como un componente de Vue. Esto es necesario para poder utilizar el componenteNuxtLink
dentro de Storybook.index.stories.ts
para importar la instancia deVue
y el componenteNuxtLink
de Nuxt.js, y utilizarlos en la historia:Aquí, importamos la instancia de
Vue
y el componenteNuxtLink
de Nuxt.js, y registramos el componenteNuxtLink
globalmente como un componente de Vue. Luego, utilizamos el componenteNuxtLink
dentro de la plantilla de la historia, junto con el componenteTest
.Con estos cambios, la historia debería mostrarse ahora en Storybook.