React 配置全局 scss 变量

4 篇文章 0 订阅
2 篇文章 0 订阅

1、安装 sass-resources-loader

npm i sass-resources-loader --save-dev

2、找到 webpack.config.js,两种选择

(1)暴露配置文件执行 npm run eject,此时会在根目录生成 config 文件夹,里面包含webpack.config.js 配置文件。 (多人项目建议选择执行此命令)
(2)直接修改 node_modules ==》 react-scripts ==》webpack.config.js。注意:此文章是采用的这种方式修改的 webpack.config.js
注意:修改的node_modules/reacr-scripts/config/webpacl.config.js , …/…/…/ 定位到根目录下层级下。如果是npm run eject 的话,需要对应看目录的路径。

3、修改 webpack.config.js

找到以下代码,大约在507行。

{
    test: sassRegex,
    exclude: sassModuleRegex,
    use: getStyleLoaders(
      {
        importLoaders: 3,
        sourceMap: isEnvProduction && shouldUseSourceMap,
      },
      'sass-loader'
    ),
    sideEffects: true,
}

getStyleLoaders() 后面添加如下代码:

.concat({
     loader: 'sass-resources-loader',
     options: {
         resources: [
             // 这里按照你的文件路径填写
             path.resolve(__dirname, './../src/common.scss')
         ]
     }
 })

4、最终代码如下,需要执行npm start 重新启动项目

{
  test: sassRegex,
  exclude: sassModuleRegex,
  use: getStyleLoaders(
    {
      importLoaders: 3,
      sourceMap: isEnvProduction && shouldUseSourceMap,
    },
    'sass-loader'
  ).concat({
      loader: 'sass-resources-loader',
      options: {
          resources: [
              // 这里按照你的文件路径填写../../../ 定位到根目录下, 可以引入多个文件
              path.resolve(__dirname, '../../../src/scss/common.scss'),
              path.resolve(__dirname, '../../../src/scss/skin.scss')
          ]
      }
  }),
  sideEffects: true,
},

../../../src/scss/common.scss'是我的公共sass路径,根据你自己的项目路径来配置。
需要执行npm start 重新启动项目

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值