此指南假設您正在使用 Storybook >=7.0,並使用入門指南。還沒有嗎?請執行
# Add Storybook:
npx storybook@latest init
Bootstrap
在您的 .storybook/preview.js
檔案中導入 Bootstrap 檔案。
// .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]
資料屬性來啟用它。
您可以使用 @storybook/addon-themes 來為您的 Story 新增主題切換器。
執行以下指令以安裝並註冊擴充功能
npx storybook@latest add @storybook/addon-themes
在底層,這會執行 npx @storybook/auto-config themes
,它應該會讀取您的專案並嘗試使用正確的裝飾器設定您的 Storybook。如果直接執行該指令無法解決您的問題,請在 @storybook/auto-config 儲存庫上提交錯誤報告,以便我們可以盡力改善此問題。若要手動新增此擴充功能,請安裝它,然後將它新增到 .storybook/main.ts
中的 addons 陣列。
然後,若要讓您的 Story 能夠按一下就切換這些模式,請使用我們的 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 一起使用。🎉 請查看範例儲存庫以快速開始。
如果您在工作中使用 Bootstrap,我們很樂意收到您對 Bootstrap + Storybook 體驗的回饋。加入 Discord 中的維護人員以參與其中,或跳到 擴充功能文件。