React中配置入less

在一开始配置的时候并没有想到less是需要配置的,以为直接create一个less的文件就可以解决了。结果并不是,在网上也看了需要教程,五花八门。最终经历一番折腾,勉强配出来了,通过这篇文章回顾整一个过程。

由于在React中,webpack、babel等等都会被 create react app封装到react-scripts中,包括基本的启动命令都是通过这个scripts进行启动的。故需要配置less文件需要修改webpack的配置文件,因此需要先将其从封装中提取出来

npm run eject

 这个命令要么在一开始创建react项目的时候就执行

若在修改代码以后,那么需要将代码git commit到local的记录中,然后在执行此命令

个人理解就是需要在没有修改记录的状态下执行

解压以后就会有这个文件出现在目录下

 

选择 webpack.config.js 这个文件进行修改

修改其实可以完全安装cssRegx的这个格式进行模仿修改的

模仿css的那两个值,在下面添加两个新的值

const lessRegex = /\.less$/;
const lessModuleRegex = /\.module\.less$/;

 然后在代码中找到

test: cssRegex

// 找到者两个,连在一起的
            {
              test: cssRegex,
              exclude: cssModuleRegex,
              use: getStyleLoaders({
                importLoaders: 1,
                sourceMap: isEnvProduction
                  ? shouldUseSourceMap
                  : isEnvDevelopment,
                modules: {
                  mode: 'icss',
                },
              }),
              // Don't consider CSS imports dead code even if the
              // containing package claims to have no side effects.
              // Remove this when webpack adds a warning or an error for this.
              // See https://github.com/webpack/webpack/issues/6571
              sideEffects: true,
            },
            // Adds support for CSS Modules (https://github.com/css-modules/css-modules)
            // using the extension .module.css
            {
              test: cssModuleRegex,
              use: getStyleLoaders({
                importLoaders: 1,
                sourceMap: isEnvProduction
                  ? shouldUseSourceMap
                  : isEnvDevelopment,
                modules: {
                  mode: 'local',
                  getLocalIdent: getCSSModuleLocalIdent,
                },
              }),
            },


//========== 复制上面的两个值,然后进行小修改就好了 ===============
            {
              test: lessRegex,
              exclude: lessModuleRegex,
              use: getStyleLoaders(
                  {
                    importLoaders: 3,
                    sourceMap: isEnvProduction
                        ? shouldUseSourceMap
                        : isEnvDevelopment,
                  },
                  'less-loader'
              ),

              sideEffects: true,
            },
            {
              test: lessModuleRegex,
              use: getStyleLoaders(
                  {
                    importLoaders: 3,
                    sourceMap: isEnvProduction
                        ? shouldUseSourceMap
                        : isEnvDevelopment,
                    modules: {
                      getLocalIdent: getCSSModuleLocalIdent,
                    },
                  },
                  'less-loader'
              ),
            },

然后就配置好了,觉得这种配置就不要怎么记,不过下面那个我是模仿sass那个的,所以loaders是3,具体值什么意思有机会在琢磨, 现在就是可以使用less文件进行Css样式的配置了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值