You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Storybook构建报错:模块解析失败,需配置对应Loader处理@语法

解决React Storybook中SCSS @use语法的ModuleParseError问题
  • 问题根源:@use是Dart Sass专属语法特性,仅靠css-loader无法编译SCSS文件,需要配套的Sass编译工具。

步骤1:安装必要依赖

先安装Dart Sass(sass包,替代已废弃的node-sass)和sass-loader:

yarn add -D sass sass-loader

步骤2:配置Storybook的Webpack规则

在.storybook/main.js中添加SCSS文件的loader处理规则:

const path = require('path');

module.exports = {
  stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
  addons: ['@storybook/addon-links', '@storybook/addon-essentials'],
  webpackFinal: async (config) => {
    // 添加SCSS文件处理规则
    config.module.rules.push({
      test: /\.scss$/,
      use: [
        'style-loader',
        // 若使用CSS Modules,添加modules配置项
        {
          loader: 'css-loader',
          options: {
            modules: {
              localIdentName: '[name]__[local]--[hash:base64:5]',
            },
          },
        },
        'sass-loader'
      ],
      include: path.resolve(__dirname, '../'),
    });
    return config;
  },
};

步骤3:重启Storybook服务

修改配置后必须停止当前运行的Storybook,重新执行启动命令:

yarn run storybook

额外检查项

  • 排查是否存在其他Webpack loader规则覆盖了SCSS的处理逻辑
  • 确认Variable.module.scss的文件路径无拼写错误

内容的提问来源于stack exchange,提问作者Dhara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:55:02