On this page
Verwendung von Storybook mit Angular und Vite
Storybook ist ein Frontend-Workshop fĂźr die isolierte Erstellung von UI-Komponenten und Seiten.
Angular und Storybook verwenden standardmäĂig Webpack zum Erstellen und Bereitstellen der Storybook-Anwendung.
Dieser Leitfaden fĂźhrt dich durch den Prozess der Umstellung auf die Erstellung und Bereitstellung deines Storybooks mit Angular unter Verwendung von Vite. Dieser Prozess kann auf jedes Angular-Projekt mit Storybook angewendet werden.
Storybook einrichten
Ist Storybook noch nicht eingerichtet, fĂźhren den folgenden Befehl aus, um Storybook fĂźr das Projekt zu initialisieren:
npx storybook@latest init
Folge den Anweisungen und Ăźbernehme deine Ănderungen.
Storybook und Vite-Pakete installieren
Installieren das Vite-Plugin fĂźr Angular und den Vite Builder fĂźr Storybook. FĂźhre je nach bevorzugtem Paketmanager einen der folgenden Befehle aus:
npm install @analogjs/vite-plugin-angular @storybook/builder-vite --save-devyarn add @analogjs/vite-plugin-angular @storybook/builder-vite --devpnpm install @analogjs/vite-plugin-angular @storybook/builder-vite -w --save-devbun install @analogjs/vite-plugin-angular @storybook/builder-vite --save-devKonfigurieren von Storybook zur Verwendung des Vite Builder
Aktualisieren die Datei .storybook/main.ts, um @storybook/builder-vite zu verwenden, und fĂźgen die Konfigurationsfunktion viteFinal hinzu, um das Vite-Plugin fĂźr Angular zu konfigurieren.
const config: StorybookConfig & StorybookConfigVite = {
// other config, addons, etc.
core: {
builder: {
name: '@storybook/builder-vite',
options: {
viteConfigPath: undefined,
},
},
},
async viteFinal(config: UserConfig) {
// Merge custom configuration into the default config
const { mergeConfig } = await import('vite');
const { default: angular } = await import('@analogjs/vite-plugin-angular');
return mergeConfig(config, {
// Add dependencies to pre-optimization
optimizeDeps: {
include: [
'@storybook/angular',
'@storybook/angular/dist/client',
'@angular/compiler',
'@storybook/blocks',
'tslib',
],
},
plugins: [angular({ jit: true, tsconfig: './.storybook/tsconfig.json' })],
});
},
};
Entferne die webpackFinal-Konfigurationsfunktion, falls vorhanden.
Aktualisiere als Nächstes die package.json, um die Storybook-Befehle direkt auszufßhren.
{
"name": "my-app",
"scripts": {
"storybook": "storybook dev --port 4400",
"build-storybook": "storybook build"
}
}
Du kannst auch die Storybook-Ziele in der Datei angular.json entfernen.
Wenn du Nx verwendest, aktualisiere deine project.json-Storybook-Ziele, um die Storybook-Befehle auszufĂźhren:
"storybook": {
"executor": "nx:run-commands",
"options": {
"cwd": "apps/my-app",
"command": "storybook dev --port 4400"
}
},
"build-storybook": {
"executor": "nx:run-commands",
"options": {
"cwd": "apps/my-app",
"command": "storybook build --output-dir ../../dist/storybook/my-app"
}
}
FĂźge den Ordner /storybook-static zu deiner .gitignore-Datei hinzu.
Starten von Storybook
FĂźhre die Storybook-Befehle direkt aus, um den Entwicklungsserver zu starten.
npm run storybook
Erstellen von Storybook
FĂźhre die Storybook-Befehle aus, um das Storybook zu erstellen.
npm run build-storybook