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

React微前端应用SCSS与Webpack配置问题:导入Bootstrap报错

解决React微前端中SCSS与Webpack配置问题

核心问题分析

你当前的webpack.common.js里完全没有配置SCSS相关的loader规则,而且报错显示sass-loader在处理JS文件里的import('./bootstrap')语句——这说明要么是loader的匹配规则错误(把JS文件当成SCSS处理),要么是你导入Bootstrap的路径/方式不对,导致Webpack错误地用sass-loader解析JS代码。

解决方案步骤

1. 安装必要依赖

先确保安装了处理SCSS所需的loader:

npm install style-loader css-loader sass-loader sass --save-dev

2. 配置Webpack的SCSS loader规则

在webpack.common.js的module.rules数组中添加SCSS的处理规则:

const HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports = {
  module: {
    rules: [
      {
        test: /\.m?js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-react', '@babel/preset-env'],
            plugins: ['@babel/plugin-transform-runtime'],
          },
        },
      },
      // 新增SCSS处理规则
      {
        test: /\.s[ac]ss$/i,
        use: [
          // 将CSS注入到DOM中
          'style-loader',
          // 解析CSS模块
          'css-loader',
          // 编译SCSS为CSS
          'sass-loader',
        ],
      },
    ],
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './public/index.html',
    }),
  ],
}

3. 修正Bootstrap导入语句

确保你导入的是Bootstrap的SCSS文件(而非错误路径或未指定后缀的文件),如果是使用官方Bootstrap包,修改index.js的导入:

// 导入Bootstrap官方SCSS文件
import 'bootstrap/scss/bootstrap.scss';
// 如果是自定义的bootstrap.scss文件,写对相对路径
// import './bootstrap.scss';

报错原因说明

Sass的语法里没有import('./xxx')这种JS动态导入的写法,当Webpack没有正确配置SCSS规则,或者导入路径错误导致文件类型识别混乱时,sass-loader会错误地解析JS代码,从而抛出expected "{"的语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:25:20