Storybook + react + ts 配置全局样式

本文档介绍了如何在使用Storybook 6.1.18、babel-core 6.26.3和babel-loader 8.2.2的环境下,为React项目配置全局SCSS样式。主要步骤包括修改main.js以引入对应的loader,然后在webpackFinal配置中添加处理SCSS的规则。最后,在preview.js中导入全局SCSS文件完成设置。
摘要由CSDN通过智能技术生成

Storybook + react + ts 配置全局样式

react 中配置storybook 网上一大片, 这里主要提一下作者使用时遇到的一些小坑.

首先要注意你使用的storybook 版本, 因为不同版本之间, 出现的配置文件格式及命名有点差别.
本人使用的是

“devDependencies”: {
“@storybook/react”: “^6.1.18”,
“babel-core”: “^6.26.3”,
“babel-loader”: “^8.2.2”
}

storybook默认配置如下:
main.js

 module.exports = {
   "stories": [
     "../src/**/*.stories.mdx",
     "../src/**/*.stories.@(js|jsx|ts|tsx)"
   ],
   "addons": [
     "@storybook/addon-links",
     "@storybook/addon-essentials",
     "@storybook/preset-create-react-app"
   ]
 }

只需要添加相对应的loader即可

const path = require('path')
module.exports = {
  "stories": [
    "../src/**/*.stories.mdx",
    "../src/**/*.stories.@(js|jsx|ts|tsx)"
  ],
  "addons": [
    "@storybook/addon-links",
    "@storybook/addon-essentials",
    "@storybook/preset-create-react-app"
  ],
  webpackFinal: async (config, { configType }) => {
    // `configType` has a value of 'DEVELOPMENT' or 'PRODUCTION'
    // You can change the configuration based on that.
    // 'PRODUCTION' is used when building the static version of storybook.

    // Make whatever fine-grained changes you need
    config.module.rules.push({
      test: /\.scss$/,
      use: ['style-loader', 'css-loader', 'sass-loader'],
      include: path.resolve(__dirname, '../'),
    });

    // Return the altered config
    return config;
  },
}

最后在preview.js中把全局scss样式引入即可

import '../src/styles/index.scss'

export const parameters = {
  actions: { argTypesRegex: "^on[A-Z].*" },
}
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值