返回

React组件库搭建指南:轻松创建并发布你的组件库!

前端

使用 dumi2 搭建 React 组件库:从入门到发布

构建和发布自己的 React 组件库对于简化开发流程和与他人共享您的工作至关重要。dumi2 是一个功能强大的工具,可以帮助您轻松实现这一目标。在本指南中,我们将逐步介绍使用 dumi2 创建和部署 React 组件库和函数库的详细流程。

一、准备阶段

1. 安装 dumi2

要开始使用,请使用以下命令全局安装 dumi2:

npm i dumi2 -g

2. 创建新项目

使用 dumi2 创建一个新项目:

dumi new my-component-lib

二、构建组件库

1. 创建组件

组件是组件库的基本构建模块。在 src/components 目录中,创建组件文件,例如 Button.js

import React from 'react';

export const Button = ({ children, ...props }) => {
  return (
    <button {...props}>
      {children}
    </button>
  );
};

2. 编写单元测试

编写单元测试对于确保组件的正确性至关重要。在 src/components/__tests__/Button.test.js 中创建测试文件:

import React from 'react';
import { render, fireEvent } from '@testing-library/react';
import { Button } from '../Button';

describe('Button', () => {
  it('should render correctly', () => {
    const { getByText } = render(<Button>Click me</Button>);
    expect(getByText('Click me')).toBeInTheDocument();
  });

  it('should fire onClick event', () => {
    const onClick = jest.fn();
    const { getByText } = render(<Button onClick={onClick}>Click me</Button>);
    fireEvent.click(getByText('Click me'));
    expect(onClick).toHaveBeenCalledTimes(1);
  });
});

3. 编写文档

清楚的文档对于组件的理解和使用至关重要。在 src/components/Button.md 中创建文档文件:

# Button

Button 组件是一个简单且可定制的按钮,可用于各种应用程序。

## Props

| Name | Type | Default | Description |
|---|---|---|---|
| children | ReactNode | - | 按钮的内容。 |
| onClick | function | - | 按钮被点击时要调用的函数。 |

## 使用

import { Button } from 'my-component-lib';

const App = () => {
return (
<Button onClick={() => alert('Hello world!')}>Click me
);
};

三、构建和部署文档站点

1. 构建文档站点

使用以下命令构建文档站点:

dumi build

2. 部署文档站点

docs/.umi 目录中的文件部署到服务器或 CDN。

四、发布 npm 包

1. 创建 package.json 文件

在项目根目录下,创建 package.json 文件:

{
  "name": "my-component-lib",
  "version": "1.0.0",
  "main": "dist/index.js",
  "module": "dist/index.module.js",
  "typings": "dist/index.d.ts",
  "scripts": {
    "build": "dumi build",
    "start": "dumi dev",
    "test": "jest"
  },
  "dependencies": {
    "react": "^17.0.2"
  }
}

2. 发布 npm 包

运行以下命令发布 npm 包:

npm publish

五、常见问题解答

1. 组件库无法被其他项目引用

确保组件库已发布到 npm,并且在其他项目中正确安装。

2. 文档站点无法访问

确保已将文档站点部署到服务器或 CDN,并且已正确配置访问路径。

3. 组件库中的样式无法生效

确保已正确配置样式加载器,并在组件库中使用了正确的样式文件。

4. 如何处理组件库中的依赖关系?

使用 dumi2 的依赖注入功能管理组件库中的依赖关系。这使您能够轻松地将第三方库和服务注入到您的组件中。

5. 如何为组件库编写高级文档?

dumi2 支持 Markdown 和 MDX,允许您创建包含交互式示例、代码块和图像的丰富文档。充分利用这些功能来提供全面且引人入胜的文档。

结论

使用 dumi2 构建和发布 React 组件库非常简单。遵循本指南中的步骤,您可以创建功能强大且易于使用的组件库,以增强您的开发体验和团队协作。通过发布组件库,您可以与他人分享您的工作并为更广泛的社区做出贡献。