欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

react 支持less 和antd和更换antd主题

程序员文章站 2024-03-23 15:24:46
...

less

  1. npm install less --save
  2. npm install less-loader --save
    完成之后在packge.json里的dependencies中有
    react 支持less 和antd和更换antd主题
  3. 暴露webpack配置 npm run eject 多出几个文件
    react 支持less 和antd和更换antd主题
  4. 配置less
    const lessRegex = /\.less$/;
    const lessModuleRegex = /\.module\.less$/;
    将上两句话添加到 config->webpack.config.js
    react 支持less 和antd和更换antd主题
    {
              test: lessRegex,
              exclude: lessModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction && shouldUseSourceMap,
                },
                'less-loader'
              ),
              // 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, but using SASS
            // using the extension .module.scss or .module.sass
            {
              test: lessModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction && shouldUseSourceMap,
                  modules: true,
                  getLocalIdent: getCSSModuleLocalIdent,
                },
                'less-loader'
              ),
            },

粘贴到
react 支持less 和antd和更换antd主题
测试:将App.css重命名为App.less 不报错

####antd

  1. npm install babel-plugin-import --save 同样会在依赖中找到
                  {
                     "libraryName": "antd", 
                     "libraryDirectory": "es", 
                     "style": "css" 
                   }
                 ] ,

将上述代码贴到如图位置
react 支持less 和antd和更换antd主题
重启react 项目
react 支持less 和antd和更换antd主题
此时可以不引入antd.css同样可以运行项目

antd更换主题

1.上诉同样位置引更改配置是时需要将"style":"css更换为"style:"true如下图

react 支持less 和antd和更换antd主题
2.将如下代码贴到下图位置

 {
              test: /\.less$/,
              //include: paths.appSrc,
              use: [{
                  loader: "style-loader" // creates style nodes from JS strings
              }, {
                  loader: "css-loader" // translates CSS into CommonJS
              }, {
                  loader: "less-loader",// compiles Less to CSS
                  options: {
                      sourceMap: true,
                      modifyVars: {
                          'primary-color': '#f9c700',
                          'link-color': '#1DA57A',
                          'border-radius-base': '2px',
                      },
                      javascriptEnabled: true,
                  }
              }]
          },

react 支持less 和antd和更换antd主题

重启
react 支持less 和antd和更换antd主题