無需繁瑣工作,建構 UI 介面

Storybook 是一個 frontend workshop,用於隔離建構 UI 元件和頁面。數千個團隊使用它進行 UI 開發、測試和文件編寫。它是開源且免費的。

開始使用
v8
最新版本
30.2m
每月安裝次數
2282
貢獻者
開發
localhost:6006
VSCodeGithubAirbnbMozilla

開發耐用的使用者介面

Storybook 提供一個 workshop 以隔離方式建構 UI。它可以幫助您開發難以觸及的狀態和邊緣案例,而無需執行整個應用程式。

隔離建構 UI 元件和頁面

實作元件和頁面,無需煩惱資料、API 或業務邏輯。

為何要隔離建構 UI?

將難以觸及的邊緣案例模擬為 stories

在應用程式中難以重現的關鍵狀態下渲染元件。然後將這些狀態儲存為 stories,以便在開發、測試和 QA 期間重新檢視。

如何編寫 story

透過擴充套件增強您的工作流程

擴充套件擴展和自訂您的 UI 開發工作流程。有數百種擴充套件可以幫助您更快地建構 UI、編寫元件庫文件以及與其他工具整合。

將完成的 UI 元件放入您的應用程式中

一旦您完成隔離開發 UI 元件,請將它們放入您的應用程式中。您將有信心這些元件已強化,可以支援所有可能的邊緣案例。

與您已使用的工具整合

Storybook 是可逐步採用的,並與業界標準工具整合。這表示您的團隊不必改變他們的工作流程。

瀏覽整合
400+
整合
35M
每週下載次數
ViteChromatic
Notion
TestingLib
Emotion
Tailwind
Jest
Nextjs
Webpack
Figma
ZeroheightNx
Apollo
Playwright
Axe
RedwoodJS
MSW
Zeplin
GraphQL
Gatsby
Launchdarkly
Sass
SWC
UXpinIonic
Sketch
Invision
Supernova
Cypress
Nuxt
“Storybook 是一個強大的 frontend workshop 環境工具,讓團隊可以設計、建構和組織 UI 元件(甚至完整畫面!),而不會被業務邏輯和管線問題絆倒。”
Brad Frost
Brad Frost
Atomic Design 作者

更輕鬆地測試 UI,且不會出錯

Stories 捕捉了 UI 元件的“已知良好”狀態。它們是一種務實、可重現的方式來追蹤 UI 邊緣案例。重複使用 stories 來支援自動化測試

“我們用於編輯 UI 的工具是 Storybook。它是確保您的工作在不同斷點下與設計像素完美對齊的理想場所。”
Adam Neary
Adam Neary
技術主管

為您的團隊編寫 UI 文件以重複使用

Storybook 將 UI、範例和文件集中在一個地方。這有助於您的團隊採用現有的 UI 模式。

“Storybook 透過讓我們能夠輕鬆地在我們的設計系統中包含技術文件,使元件開發更加流暢!”
Taurie Davis
Taurie Davis
Building Design Systems 作者

分享 UI 實際運作的方式

Stories 展示 UI 實際運作的方式,而不僅僅是它們應該如何運作的靜態設計。這讓每個人都對目前在生產環境中的內容保持一致。

發布 Storybook 以取得團隊成員的簽核

將 Storybook 發布為網站,供利害關係人參考。您的團隊可以檢查 UI 外觀是否正確,而無需接觸程式碼。

發布 Storybook
Storybook Mock UI
Player
Player
Player
Player

將 stories 嵌入 wikis、Markdown 和 Figma

嵌入 stories 以向團隊成員和開發人員社群展示您的工作成果。與 oEmbed 標準相容。

嵌入 stories
Embed stories using iframes in your NextJS sites
+ 以及更多

import stories 到其他 JavaScript 工具中

Stories 是基於 ES6 模組的可攜式標準。編寫一次 stories,然後將它們匯入到任何 JavaScript 程式庫中。

在測試和程式庫中重複使用 stories
UserCard.test.js
import React from 'react';
import { render, unmountComponentAtNode } from 'react-dom';
import { act } from 'react-dom/test-utils';
import { composeStories } from '@storybook/testing-react';
import * as stories from './UserCard.stories';

// Compile the "MissingProfileImage" story
const { MissingProfileImage } = composeStories(stories);

let container = null;
beforeEach(() => {
  container = document.createElement('div');
  document.body.appendChild(container);
});

afterEach(() => {
  unmountComponentAtNode(container);
  container.remove();
  container = null;
});

it('renders a fallback profile image', () => {
  // Render the story
  act(() => {
    render(<MissingProfileImage />, container);
  });

  // Verify the DOM structure
  expect(container.querySelector('img').getAttribute('src'))
    .toEqual(
      '/images/user-fallback.png'
    );
});
+ 以及更多
“Storybook 是我開始新設計系統時的首選。它可以讓設計和工程團隊都能快速輕鬆地完成工作。”
Sarrah Vesselov
Sarrah Vesselov
Building Design Systems 作者
logo-cloudbees - Storybook 繁體中文

自動化 UI 工作流程

將 Storybook 作為 CI 步驟新增,以自動化 UI 開發工作流程。這有助於您和您的團隊更快地交付產品,並減少手動工作。

發布 Storybook
在線上發布 Storybook,以便與開發人員、設計師和 PM 協作處理 UI 實作。您的團隊成員無需啟動開發環境即可查看工作成果。
為您的團隊發布 Storybook
UI 測試
在 CI 中測試 UI 的每個面向:視覺、功能、無障礙功能和快照,以偵測元件級別的 UI 錯誤。
自動偵測 UI 錯誤
UI 審查
請求團隊成員的回饋以驗證 UI 實作。一起討論 UI 變更,然後指派審閱者進行簽核。
與您的團隊一起審查
Comment from a userComment from a userComment from a user
合併並交付
UI 開發生命週期的每個階段都由 pull request 檢查追蹤。通過所有檢查以確保您的工作已準備好投入生產環境。
與 Git 版本控制整合
所有 CI 檢查皆已通過!
正在元件上執行 CI 檢查
Storybook 發布 - 準備好分享!
Storybook 發布 - 正在發布 UI…
UI 測試 - 2 個變更已接受為基準
UI 測試 - 正在執行測試…
UI 審查 - 3 個討論已解決
UI 審查 - 等待審閱者…

專為前端開發人員打造

頂尖的前端工程團隊仰賴 Storybook 來交付改變世界產品。加入我們的開源社群以學習新技術並獲得支援。

加入 2282 位貢獻者,一同建構 UI 開發的未來。
在 Github 上加星
2282
貢獻者
與 19,879+ 位前端開發人員聊天。
加入 Discord 伺服器
19,879+
伺服器成員
取得 Storybook 維護者的最新消息和更新。
在 X 上追蹤
24,200+
追蹤者
觀看教學、功能預覽和訪談。
在 YouTube 上觀看
7,020+
訂閱者