返回集成
sass

集成Sass与 Storybook

Sass(也称为 scss)是一种流行的 CSS 预处理器,允许开发人员编写更易于维护和可重用的样式表。
先决条件

此方案假设您有一个使用 Sass 的应用程序,并且刚刚使用 入门指南 设置了 **Storybook >=7.0**。没有?然后运行

# Add Storybook:
npx storybook@latest init

1. 添加 @storybook/addon-styling-webpack

注意!

某些 Storybook 配置已预先配置为支持 Sass。如果您的项目符合以下任何条件,您可以跳至 下一步

  • 使用 vite 构建器的 Storybook >= 7.x。
  • 使用 @storybook/nextjs 框架的 Storybook >= 7.x。
  • 使用 @storybook/preset-create-react-app[email protected] 或更高版本的 Storybook >= 7.x。
  • 使用 @storybook/angular 框架的 Storybook >= 7.x

运行以下脚本以安装并注册插件

npx storybook@latest add @storybook/addon-styling-webpack

这将运行一个配置脚本,该脚本将引导您完成插件的设置。当系统提示您时,从配置选项中选择 Sass

配置脚本失败了吗?

在幕后,此命令运行 npx @storybook/auto-config styling,它负责读取您的项目并尝试为您的所需工具配置您的 Storybook Webpack。如果直接运行该命令无法解决您的问题,请考虑在 @storybook/auto-config 存储库中提交错误报告,以便我们进一步改进它。有关 Sass 的手动配置说明,您可以参考 此处 的文档。

2. 导入全局样式

如果您有任何希望为您的故事公开的全局样式,您现在可以将它们导入到您的 preview.js 文件中

// .storybook/preview.js
 
import '../src/index.scss';

2.1. Angular

如果您使用的是 Angular,则需要将您的全局 scss 文件添加到您的 angular.json 文件中。这将确保您的样式由 Angular 的 Webpack 处理并注入到渲染故事的预览 iframe 中。

// angular.json
{
 "storybook": {
    "builder": "@storybook/angular:start-storybook",
    "options": {
      "browserTarget": "my-default-project:build",
      "styles": ["src/index.scss"]
    }
  } 
}

参与进来

现在您已准备好使用 Sass 与 Storybook。🎉 如果您在工作中使用 Sass,我们非常乐意收到您对 Sass + Storybook 体验的反馈。

加入维护人员和我们蓬勃发展的社区,请访问 Discord

标签
贡献者
  • ShaunEvening
    ShaunEvening