此食譜假設您正在使用 Storybook >= 7.0,並使用入門指南。還沒有嗎?那就執行
# Add Storybook:
npm create storybook@latest
Bootstrap
將 Bootstrap 檔案導入到您的 .storybook/preview.js
檔案中。
// .storybook/preview.js
import 'bootstrap/dist/css/bootstrap.min.css';
// Only import this if you want to use Bootstrap's
// JQuery helpers
import 'bootstrap/dist/js/bootstrap.bundle';
export const parameters = {
actions: { argTypesRegex: '^on[A-Z].*' },
controls: {
expanded: true,
hideNoControlsWarning: true,
matchers: {
color: /(background|color)$/i,
date: /Date$/,
},
},
};
查看我們的 Sass 食譜,以獲取關於如何配置 Storybook 以使用 Sass 的說明。
Bootstrap 現在內建深色模式,您可以透過將 [data-bs-theme]
data 屬性新增到父元素來啟用它。
您可以使用 @storybook/addon-themes 來為您的 stories 新增主題切換器。
執行以下腳本來安裝並註冊附加元件
npx storybook@latest add @storybook/addon-themes
實際上,這會執行 npx @storybook/auto-config themes
,它應該會讀取您的專案並嘗試使用正確的裝飾器來設定您的 Storybook。如果直接執行該命令無法解決您的問題,請在 @storybook/auto-config 儲存庫上提交錯誤報告,以便我們盡可能改善它。要手動新增此附加元件,請先安裝它,然後將其新增到您的 .storybook/main.ts
中的 addons 陣列。
然後,為了讓您的 stories 能夠一鍵切換這些模式,請使用我們的 withThemeByDataAttribute
裝飾器,方法是將以下程式碼新增到您的 .storybook/preview.js
檔案中。
// .storybook/preview.js
import { withThemeByDataAttribute } from '@storybook/addon-themes';
// snipped for brevity
export const decorators = [
withThemeByDataAttribute({
themes: {
light: 'light',
dark: 'dark',
},
defaultTheme: 'light',
attributeName: 'data-bs-theme',
}),
];
現在您已準備好將 Bootstrap 與 Storybook 一起使用。 🎉 查看範例 repo以快速開始。
如果您在工作中使用 Bootstrap,我們很樂意收到您對 Bootstrap + Storybook 體驗的回饋。加入 Discord 中的維護者以參與貢獻,或查閱附加元件文件。