react中自定义antd主题与支持less(第二部)

自定义主题

首先自定义主题需要修改antd,antd本身也是less写的之后编译成css的,所以当我们需要使用less。

1.yarn add react-app-rewire-less --dev

const { injectBabelPlugin } = require(‘react-app-rewired‘);
+ const rewireLess = require(‘react-app-rewire-less‘);

  module.exports = function override(config, env) {
-   config = injectBabelPlugin([‘import‘, { libraryName: ‘antd‘, style: ‘css‘ }], config);
+   config = injectBabelPlugin([‘import‘, { libraryName: ‘antd‘, style: true }], config);
+   config = rewireLess.withLoaderOptions({
+     modifyVars: { "@primary-color": "#1DA57A" },
+   })(config, env);
    return config;
  };

参考链接:https://ant.design/docs/react/use-with-create-react-app-cn

使用less

如果已经配置react-app-rewire-less,则无需再进行此操作

1.npm install less-loader less --save-dev

2.修改node_modules/react_script/config下的webpack.config.dev.js 和 webpack.config-prod.js 配置文件

  • test: /\.css$/ 改为 /\.(css|less)$/
  • test: /\.css$/ 的 use 数组配置增加 less-loader
{
  test: /\.(css|less)$/,
  use: [
    require.resolve(‘style-loader‘),
    {
      loader: require.resolve(‘css-loader‘),
      options: {
        importLoaders: 1,
      },
    },
    {
      loader: require.resolve(‘postcss-loader‘),
      options: {
        // Necessary for external CSS imports to work
        // https://github.com/facebookincubator/create-react-app/issues/2677
        ident: ‘postcss‘,
        plugins: () => [
          require(‘postcss-flexbugs-fixes‘),
          autoprefixer({
            browsers: [
              ‘>1%‘,
              ‘last 4 versions‘,
              ‘Firefox ESR‘,
              ‘not ie < 9‘, // React doesn‘t support IE8 anyway
            ],
            flexbox: ‘no-2009‘,
          }),
        ],
      },
    },
    {
      loader: require.resolve(‘less-loader‘) // compiles Less to CSS
    }
  ],
},

原文地址:https://www.cnblogs.com/lanshu123/p/10660705.html

时间: 2024-10-11 12:42:47

react中自定义antd主题与支持less(第二部)的相关文章

react中使用antd按需加载(第一部)

什么是react按需加载?简单来说就是当我们引用antd的时候需要引入全局css样式,这会对性能造成一定的影响,那么使用按需加载以后就不需要引入css全局样式了,直接引入功能模块即可,既然需要设置按需加载就要对webpack文件进行修改,需要我们执行npm run eject命令来展开项目的隐藏文件,如果只是简单的修改,我们可以使用react-app-rewired定义全局变量,react-app-rewired的作用就是在不eject的情况下,覆盖create-react-app的配置.具体如

react中安装antd失败:[email&#160;protected] is no longer maintained. Please, upgrade to [email&#160;protected]——成功解决方案

更新自:2019年7月15日-问题已解决 问题: 在基于create-react-app创建的react项目中,使用命令: ???????npm install antd --save 安装ant design时遇见下面的报错,导致antd安装失败: warning antd > rc-tree-select > rc-trigger > rc-animate > fbjs > [email protected]: [email protected]<2.6.8 is

react中antd+css Module一起使用

antd 和 css modules 不能混用,针对antd的css 单独写一条loader的规则,不开启 css modules. 使用 exclude 和 include 配置参考(https://segmentfault.com/q/1010000011223900),修改webpack.config.dev.js 和 webpack.config-prod.js 配置文件 (尽量不要使用less-loader 来处理css文件,在与antd一起使用时可能出现错误,单独写一条规则),所以我

在现有WinForms应用中添加C1Themes主题控件

在本博客中,展示了如何在现有的WinForms应用中添加C1Themes控件支持. 本文使用名为C1dView Samples的应用程序,它包含C1Reports.它是基于C1Ribbon界面设计的C1Report/C1PrintDocument浏览应用程序.该应用最初没有包含主题的支持. C1DView示例下载:C1dView.zip (94.96 kb) (下载次数: 7) 如下描述的简单的步骤,为最终用户提供在程序中选择使用包含于C1Themes控件产品中的若干主题的支持.(请注意:在进行

十九、React UI框架Antd(Ant Design)的使用——及react Antd的使用 button组件 Icon组件 Layout组件 DatePicker日期组件

一.Antd(Ant Design)的使用:引入全部Css样式 1.1 antd官网: https://ant.design/docs/react/introduce-cn 1.2 React中使用Antd 1.在项目根目录安装antd[每个项目都安装一次]: npm install antd --save / yarn add antd / cnpm install antd --save 2.在您的react项目的css文件中引入Antd的css[会引入所有css样式]: @import '

Spring validation中自定义的校验错误提示信息如何支持国际化

Spring validation的基本使用可以参考这个链接:点击进入 这一章将讲述如何让自定义的校验提示信息支持国际化,在这里我只列举了支持中文.英文 具体的实现步骤,过程如下: (1)将message消息从注解中迁移至配置文件 在resources目录下创建ValidationMessages.properties文件,文件名必须保持一致:将@NotEmpty(message = "身份证号不能为空")的message消息放置在资源文件中,如下所示: @NotEmpty(messa

React中使用Ant Table组件

一.Ant Design of React http://ant.design/docs/react/introduce 二.建立webpack工程 webpack+react demo下载 项目的启动,参考 三.简单配置 1.工程下载下来之后,在src目录下新建目录“table”,新建app.js,内容如下. import React from 'react'; import ReactDOM from 'react-dom'; import ExampleTable from './Exam

自定义ExtJS主题

ExtJS提供的可以使用的主题包对于创建一个干净专业的程序来说已经很有创意了,然而,你可能还是会希望提供自己的一种设计方式或现在存在的企业设计方式. 从历史上来说,给程序美化就是指的给html标签提供渲染组件的规则,但是这样做也会有一些弊端出现.首先,你需要负担的是各种支持的浏览器.其次,随着框架的成熟,很多不愉快就会产生,比如你的规则风格的变化需要追逐潜在元素的改变.通过ExtJS提供的API就可以很好的解决这些问题. 通过theming API创建的主题可以在任何ExtJS程序中共享.这就运

React中的fetch请求相关

fetch在reactjs中等同于 XMLHttpRequest,它提供了许多与XMLHttpRequest相同的功能,但被设计成更具可扩展性和高效性. Fetch 的核心在于对 HTTP 接口的抽象,包括 Request,Response,Headers,Body,以及用于初始化异步请求的 global fetch.得益于 JavaScript 实现的这些抽象好的 HTTP 模块,其他接口能够很方便的使用这些功能:除此之外,Fetch 还利用到了请求的异步特性--它是基于 Promise 的.