让板砖飞丶 2020-01-07 10:19 采纳率: 0%
浏览 551

自己发布UI库npm包怎么按需引入css

图片说明

我自己按照ant-design的方式封装了公司需要的ui组件库,是想着按照ant-design那种方式引入模块和babel按需引入css,这部分改怎么配置呢,求大神详解。

  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-17 09:35
    关注

    参考GPT和自己的思路:

    这个问题的解决方案需要分几个步骤来完成:

    1. 首先,需要在开发时使用 babel-plugin-import 插件对组件库按需引入:
    "plugins":[
      ["import", {
        "libraryName": "your-ui-library",
        "libraryDirectory": "lib/components",
        "camel2DashComponentName": false,
      }],
    ],
    

    其中,libraryName 指的是你的组件库的名称,libraryDirectory 指的是组件库内组件的目录,camel2DashComponentName 表示将驼峰命名转换为短横线命名(false 表示不进行转换)。

    1. 然后,在组件库的入口文件中,需要将所有组件和样式导出:
    export { default as Button } from './Button';
    export { default as Input } from './Input';
    export { default as Select } from './Select';
    // ...
    export { default as styles } from './styles.css';
    

    其中,styles.css 是所有组件公用的样式文件。

    1. 最后,在使用组件库的项目中,需要引入样式文件,并在需要的组件中按需引入样式:
    import React from 'react';
    import { Button } from 'your-ui-library';
    import 'your-ui-library/styles.css';
    
    function App() {
      return (
        <div>
          <Button className="my-button">Click me</Button>
        </div>
      );
    }
    
    export default App;
    

    这样,在构建时,webpack 会将所有按需引入的样式打包到单独的 css 文件中,避免了样式重复和冗余的问题。

    评论

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集