Stencil

適用於 Storybook 的 Stencil 編譯器整合。

在 Github 上檢視

Storybook 擴充套件 Stencil

適用於 Storybook (v8) 的 Stencil 整合。為 ArgTypesControls 提供正確的自訂元素定義,並處理 HMR。

用法

安裝擴充套件

npm install storybook-addon-stencil -D
yarn add storybook-addon-stencil -D
pnpm add storybook-addon-stencil -D

在您的 Storybook 設定中註冊擴充套件

.storybook/main.js

/** @type { import('@storybook/web-components-vite').StorybookConfig } */
const config = {
    stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
    framework: "@storybook/web-components-vite",
    addons: [
        ...,
        {
            name: "storybook-addon-stencil",
            options: {
                stencilOptions: {},
            },
        },
    ],
};
export default config;

如果您需要變更 Stencil 的 transpile 函式,請設定 stencilOptions

在您的 story 中匯入元件

my-component.stories.js

import "./my-component";

擴充套件將處理 Stencil 元件的轉譯,在 stories 檔案中新增所有需要的程式碼(相依性、樣式、自訂元素定義)。這樣一來,**您不需要在 Storybook 的 preview.js 檔案中呼叫 defineCustomElements**,因此您必須將其移除。

注意:您必須匯入所有您想在 stories 中使用的元件,除了已匯入元件的相依性之外。

您可以在 demo 資料夾中看到 story 的範例。

來自 Storybook 的自動化文件

來自 Storybook 的自動化文件仍然顯示元件的不完整資訊,因此您必須在 mdx 檔案中手動使用 ArgTypes 文件區塊。

Meta 物件中的 component 欄位會自動推斷元件的 argTypes,並以元件的**所有**屬性填寫 Controls 表格。如果您只想顯示在 Meta 中定義的 argTypes 的控制項,只需省略該欄位即可。

由以下人員製作
  • edocava
    edocava
  • dariosacco
    dariosacco
適用於
    Web Components
標籤