Nuxt stories module - a kind of ultra light Storybook
- 👯♀️ Share the same configuration between the app and the stories
- 💆♂️ No configuration needed
- 🚀 Fast - no extra build step during development
- Add
@rezo-zero/nuxt-stories
dependency to your project
# Using pnpm
pnpm add -D @rezo-zero/nuxt-stories
# Using yarn
yarn add --dev @rezo-zero/nuxt-stories
# Using npm
npm install --save-dev @rezo-zero/nuxt-stories
- Add
@rezo-zero/nuxt-stories
to themodules
section ofnuxt.config.ts
export default defineNuxtConfig({
modules: [
'@rezo-zero/nuxt-stories'
]
})
That's it! You can now use Nuxt stories in your Nuxt app ✨
- type:
{ name?: string; file?: string; path?: string; }
- default:
{
name: 'stories',
file: './runtime/components/StoriesPage.vue',
path: '/_stories'
}
- type:
string | string[]
- default:
'**/*.stories.vue'
- type:
string | string[]
- default:
['components', 'stories']
You can add assets to your stories by adding a stories
folder in the /server
directory.
All the assets in this folder will be available as public assets with the prefix /stories
.
You can use it like the /public
folder in the Nuxt app, but the folder will be available only when the stories are available too.
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev
# Build the playground
npm run dev:build
# Run ESLint
npm run lint
# Run Vitest
npm run test
npm run test:watch
# Release new version
npm run release
The app must use Nuxt layout.
Behind the scene, this module will use a layout stories
(automatically injected) to display the stories.
At least, the app must have a default
layout. That is how the layout can be switched by the module.