最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • create-react-app 中使用 antd@4.x

    正文概述 掘金(saltire)   2021-01-20   1116

    安装依赖

    // 全局安装 create-react-app,因为要经常使用
    yarn global add create-react-app 
    

    创建项目并安装依赖

    yarn create react-app react-antd
    
    cd react-antd
    
    // 在 react-antd 项目中安装 antd
    yarn add antd -S
    

    自定义 create-react-app 的默认配置

    当需要对create-react-app 的默认配置进行自定义时,antd@4.x版本推荐使用 craco(一个对 create-react-app 进行自定义配置的社区解决方案)

    现在我们安装 craco 并修改 package.json 里的 scripts 属性。

     yarn add @craco/craco
    
    /* package.json */
    "scripts": {
    -   "start": "react-scripts start",
    -   "build": "react-scripts build",
    -   "test": "react-scripts test",
    +   "start": "craco start",
    +   "build": "craco build",
    +   "test": "craco test",
    }
    

    然后在项目根目录创建一个craco.config.js 用于修改默认配置。

    /* craco.config.js */
    module.exports = {
      // ...
    };
    

    定制主题色并在项目中使用 less

    按照 配置主题 的要求,自定义主题需要用到类似 less-loader 提供的 less 变量覆盖功能。我们可以引入 craco-less 来帮助加载 less 样式和修改变量。

    首先把src/App.css文件修改为 src/App.less,然后修改样式引用为 less 文件。

    /* src/App.js */
    - import './App.css';
    + import './App.less';
    
    /* src/App.less */
    - @import '~antd/dist/antd.css';
    + @import '~antd/dist/antd.less';
    

    然后安装craco-less并修改 craco.config.js 文件如下。

     yarn add craco-less
    
    const CracoLessPlugin = require('craco-less');
    
    module.exports = {
      plugins: [
        {
          plugin: CracoLessPlugin,
          options: {
            lessLoaderOptions: {
              lessOptions: {
                modifyVars: { '@primary-color': '#1DA57A' },
                javascriptEnabled: true,
              },
            },
          },
        },
      ],
    };
    

    这里利用了 less-loader 的 modifyVars 来进行主题配置,变量和其他配置方式可以参考 配置主题 文档。修改后重启 yarn start,如果看到一个绿色的按钮就说明配置成功了。

    antd 内建了深色主题和紧凑主题,你可以参照 使用暗色主题和紧凑主题 进行接入。

    按需导入 antd 组件样式

    实际项目中,为了缩小打包后的体积,往往需要用到按需加载,步骤如下:安装依赖 babel-plugin-import

    yarn add babel-plugin-import
    

    然后在craco.config.js里加上

    babel: {
         plugins: [
            [
                "import", 
                {
                    "libraryName": "antd",
                    "libraryDirectory": "es",
                     "style": true //设置为true即是less
                 }
             ]
         ]
    },
    

    以上配置完成后,在引用组件时,无需在额外引入样式文件,babel 会自动按需帮你完成样式的引入


    下载网 » create-react-app 中使用 antd@4.x

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元