zoukankan      html  css  js  c++  java
  • A17 React+AntDesign AntDesignUI框架 css样式按需引入

    官方文档参考

    Antd中使用高级配置,按需引入css样式

    步骤:

    Ⅰ、$ yarn add react-app-rewired customize-cra / $ 1、cnpm install react-app-rewired --save  2、$ cnpm install customize-cra --save 

      引入 react-app-rewired 并修改 package.json 里的启动配置。由于新的 react-app-rewired@2.x 版本的关系,你还需要安装 customize-cra

      $ yarn add react-app-rewired customize-cra
      /* package.json */
      "scripts": {
      -   "start": "react-scripts start",
      +   "start": "react-app-rewired start",
      -   "build": "react-scripts build",
      +   "build": "react-app-rewired build",
      -   "test": "react-scripts test",
      +   "test": "react-app-rewired test",
      }

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

      module.exports = function override(config, env) {
          // do stuff with the webpack config...
          return config;
        };

    Ⅲ、使用 babel-plugin-import

    注意:antd 默认支持基于 ES module 的 tree shaking,js 代码部分不使用这个插件也会有按需加载的效果。

    babel-plugin-import 是一个用于按需加载组件代码和样式的 babel 插件(原理),现在我们尝试安装它并修改 config-overrides.js 文件。

    $ yarn add babel-plugin-import / cnpm install babel-plugin-import --save
      + const { override, fixBabelImports } = require('customize-cra');
    
      - module.exports = function override(config, env) {
      -   // do stuff with the webpack config...
      -   return config;
      - };
      + module.exports = override(
      +   fixBabelImports('import', {
      +     libraryName: 'antd',
      +     libraryDirectory: 'es',
      +     style: 'css',
      +   }),
      + );

    Ⅳ、然后移除前面在 src/App.css 里全量添加的 @import '~antd/dist/antd.css'; 样式代码,并且按下面的格式引入模块。

      // src/App.js
      import React, { Component } from 'react';
    - import Button from 'antd/es/button';
    + import { Button } from 'antd';
      import './App.css';
    
      class App extends Component {
        render() {
          return (
            <div className="App">
              <Button type="primary">Button</Button>
            </div>
          );
        }
      }
    
      export default App;

    Ⅴ、最后重启 yarn start 访问页面,antd 组件的 js 和 css 代码都会按需加载

    ====================================================================================

    至此 A系列入门学习完结

      
  • 相关阅读:
    vue+element ui 表格自定义样式溢出隐藏
    vue自定义指令directives使用及生命周期
    前端如何下载文件
    js实现活动倒计时
    echarts自定义提示框数据
    vue项目如何刷新当前页面
    数据库——关于索引
    Javascript节点选择
    asp.net 身份验证(Update)
    ASP.config配置
  • 原文地址:https://www.cnblogs.com/nuister/p/12524946.html
Copyright © 2011-2022 走看看