React 组件库框架搭建

前言

公司业务积累了一定程度,需要搭建自己的组件库,有了组件库,整个团队开发效率会提高恨多。
做组件库需要提供开发调试环境,和组件文档的展示,调研了几个比较主流的方案,如下:

  • docz 配置简单,功能相对来说也较完善。我们现在项目是用的umi框架,正好官方也提供了开发库的脚手架,也集成了docz,因此我们决定采用它来开发我们的组件库。
  • storybook 功能比较全面,支持自定义webpack配置等特性
  • docsifyjs 写文档比较友好,对vue支持比较好,react 用的不是特别多

组件库搭建

  • monorepo(多包仓库)

    现在比较流行的是monorepo(多包仓库),我们采用lerna框架去管理开发项目。lerna我认为最主要的功能给我们提供了包的版本管理,快速发布npm等。像鼎鼎大名的babel就是采用这种方式来管理。lerna 初始化项目大家可以看下官方文档,要注意它的两种模式

    • Fixed/Locked(锁定,固定模式) 默认初始化就是使用的这种方式。此方式包升级相对应的所有包都会升级成新版本
    • Independent (独立模式) 支持单独包的改动升级版本

    lerna 项目文件目录描述

    ├── README.md              项目介绍
    ├── lerna.json             lerna 配置文件
    ├── package.json
    ├── packages               包目录
    │   └── ***-component      具体包文件
    └── yarn.lock
  • 创建componet组件库

    我们在packages 文件目录下创建我们的组件库,可以起名为 ***-component, 接下来就是初始化项目,可以用umi提供的脚手架去创建,根据文档创建即可。我们介绍下文件目录的用途

    • 框架目录

      ├── bcomponents      存放我们的业务组件
      ├── components       存放基础组件
      │   ├── resource       资源组件
      │   └── tag            标签组件
      ├── index.js         入口文件
      ├── style            样式文件
      │   ├── index.js
      │   ├── index.less      入口样式
      │   ├── minxins         less minxins
      │   └── themes          默认主题
      ├── utils            工具目录
      │   └── utils.js     工具类
    • 组件目录
      ├── resource                  resource组件文件夹
      │   ├── index.js                入口文件
      │   ├── index.less              less描述文件
      │   ├── index.mdx               文档和案例
      │   ├── resource.js             组件内容
      │   ├── resourceContext.js      组件内容
      │   └── resourceGroup.js        组件内容
      └── tag                       tag组件
          ├── index.js                入口文件
          └── index.mdx               文档和案例
  • 开发,打包,发布

    我们介绍了框架目录,大家可以按约定去开发。由于 umi-plugin-library 目前开发还不是完善,文档也不是很全。通过查看源码总结了一下命令,包含开发,打包,发布到github pages 上.

    • yarn dev 启动开发环境
    • yarn build:doc 构建文档
    • yarn deploy:doc 构建文档并发布到github pages
    • yarn build 构建组件产物

成果展示

结束语

我简单的介绍了组建搭建,搭建的过程中还有许多小细节需要我们注意。我把项目放到了github上,大家有兴趣可以去查看

原文地址:https://www.cnblogs.com/qiaojie/p/10311080.html

时间: 2024-08-29 17:47:32

React 组件库框架搭建的相关文章

react+redux项目框架搭建流程

一.脚手架搭建react结构目录: 1.npm install -g create-react-app 全局安装react脚手架 2.create-react-app react-demo 创建react-demo项目 3.cd react-demo 进入到项目文件夹 4.npm start 启动本地项目 二.Styled-Components与Reset.css的结合使用. Styled-Components解决css样式表不能私有的问题,Reset.css重置不同浏览器标签默认设置 三.Re

React+antd+less框架搭建步骤,看吧,整的明白儿的

1.node版本 首先你要先看下你的node版本,如果小于10,建议升级到10及以上,因为低版本的 node 在自动创建 react框架时,有配置文件跟10及以上的有比较大的差异,而且需要增加.修改的配置有点多,有些繁复,所以为了能够轻松自在的创建基础框架,最好是升级下node.我用的nvm,版本随意切换,所以还算自在. 2.先跑命令 : npm install -g create-react-app 创建下 构建环境. 3.create-react-app  <你定义的项目名> ,运行后就会

react组件库、模板

开源的有蚂蚁金服的: 1.https://pro.ant.design/index-cn 2.https://pro.ant.design/docs/getting-started-cn 3.https://github.com/shengulong/ant-design 4.https://ant.design/docs/resource/download-cn react中午网站:http://react-china.org react教程: 1.http://www.runoob.com/

使用 store 来优化 React 组件

在使用 React 编写组件的时候,我们常常会碰到两个不同的组件之间需要共享状态情况,而通常的做法就是提升状态到父组件.但是这样做会有一个问题,就是尽管只有两个组件需要这个状态,但是因为把状态提到了父组件,那么在状态变化的时候,父组件以及其下面的所有子组件都会重新 render,如果你的父组件比较复杂,包含了其他很多子组件的话,就有可能引起性能问题. Redux 通过把状态放在全局的 store 里,然后组件去订阅各自需要的状态,当状态发生变化的时候,只有那些订阅的状态发生变化的组件才重新 re

从零开发一款自己的小程序UI组件库(二)

写在前面:从零开发一款自己的小程序UI组件库(一) 上节我们讲到初始化组件库模板.模板文件概述.模板上传npm以及npm包文件下载至本地并运用到项目.这节我们继续,内容主要有基础UI组件库的搭建(button组件的实例)以及如何在本地使用npm link调试npm包项目. 本节所用到的物料:mineui-weapp组件库v1.1.weapp-for-mineui程序v1.1 1.开发基础组件button 我们上节有提到,要开发组件库的话,需要在官方单组件模板的基础上,①修改tools目录下的co

客户端高性能组件化框架React简介、特点、环境搭建及常用语法

明天就是春节了 预祝大家新春快乐 [ ]~( ̄▽ ̄)~* 天天饭局搞得我是身心疲惫= = 所以更新比较慢 今天想跟大家分享的就是这个大名鼎鼎的React框架 简介 React是这两年非常流行的框架 并不难,还是挺容易上手的 起源于Facebook内部项目(一个广告系统) 传统页面从服务器获取数据,显示到浏览器上,用户输入数据传入服务器 但随着数据量增大,越来越难以维护了 Facebook觉得MVC不能满足他们的扩展需求了(巨大的代码库和庞大的组织) 每当需要添加一项新的功能或特性时,系统复杂度就

client高性能组件化框架React简单介绍、特点、环境搭建及经常使用语法

[本文源址:http://blog.csdn.net/q1056843325/article/details/54729657 转载请加入该地址] 明天就是除夕了 预祝大家新春快乐 [ ]~( ̄▽ ̄)~* 天天饭局搞得我是身心疲惫= = 所以更新比較慢 今天想跟大家分享的就是这个大名鼎鼎的React框架 简单介绍 React是近两年非常流行的框架 流行到什么程度呢? 我看了一下Github上的数据 React达到了5w8+的star 在JavaScript中star排名第4 受欢迎程度可见一斑

React+Webpack+ES6环境搭建(自定义框架)

引言 目前React前端框架是今年最火的.而基于React的React Native也迅速发展.React有其独特的组件化功能与JSX的新语法,帮助前端设计有了更好的设计与便捷,而React Native更是扩大了前端的边界. 说道React,那就不得不说一下Webpack凭借它异步加载和可分离打包等优秀的特性,走在取代Grunt和Gulp的路上.而面向未来的ES6,更是支持模块化处理. 下面我就分享一下关于Webpack+React+ES6的环境搭建(通用)[附加发布版] 准备工作 首先需要准

React第六篇: 搭建React + Router + antd + nodejs + express框架搭建(nodejs做前后端server)

前提: nodejs >= 10.0;  这里不推荐用官网的yarn安装antd的模块,因为后续会出错,错误如图: 也不推荐用npx方法来搭建react骨架,也会出错,让我们开始吧!!   前端React+Antd框架搭建 1.安装并启动create-react-app骨架应用 打开cmd按顺序执行以下指令: npm install -g create-react-app   (全局安装create-react-app, 默认会安装在C盘个人用户下) create-react-app my-ap