react+dumi+typescript搭建个人组件库Concis

简介: react+dumi+typescript搭建个人组件库全过程记录

您好,如果喜欢我的文章,可以关注我的公众号「量子前端」,将不定期关注推送前端好文~

dumi为我们创建个人组件库提供了很好的平台,开箱即用,可以把专注度放在组件业务部分的编写上。

搭建步骤:

1.创建文件夹并初始化脚手架

mkdir my-app
cd my-app
$ npx @umijs/create-dumi-lib        # 初始化一个文档模式的组件库开发脚手架
# or
$ yarn create @umijs/dumi-lib

$ npx @umijs/create-dumi-lib --site # 初始化一个站点模式的组件库开发脚手架
# or
$ yarn create @umijs/dumi-lib --site

2.安装项目依赖并运行

yarn add -d dumi
npm start

在这里插入图片描述

如图为博主个人修改好的组件库主页,进入组件库文档页面也可以根据脚手架内部的配置文件route.ts、tsconfig.json、umirc.ts来配置文档的目录、菜单,具体可以参照官网配置。
在这里插入图片描述
如图是博主所写好的第一个Button组件

3.线上部署

采用官方推荐gh-pages进行线上部署。

yarn add -d gh-pages

安装依赖后,在package.json中添加部署代码:

"deploy": "gh-pages -d docs-dist"

接下来打包+部署

npm run docs:build
npm run deploy

出现"pubilshed"说明打包后的分支代码提交到git仓库中了,去github的仓库中将gh-pages分支的代码部署到线上即可,但是会出现一个问题,任何页面刷新后都会变成404,这是因为默认只输出一个 index.html 作为入口 HTML 文件,服务器在 serve / 时可以找到文件但 /some-route 却没有对应的 /some-route/index.html,所以会出现 404。设置 config.exportStatic 为 {} 根据路由按文件夹结构输出所有 HTML 文件即可。
在这里插入图片描述

具体配置如下:
.umirc.ts加入代码片段

exportStatic: {
   
   
    htmlSuffix: true
  },
  history: {
   
   
    type: "hash"
  }

再次最早的操作,组件库刷新不会出现问题了。

以上就是ums.js+react+typescript搭建个人组件库的完整流程,也留下我的线上地址和github地址:

好了好了~都看到这里了,不管有没有成功帮忙点个赞,github点个星星吧哈哈哈,后续也会不断发出每一个组件的代码和文档,敬请关注!

目录
相关文章
|
29天前
|
JavaScript 前端开发 IDE
[译] 用 Typescript + Composition API 重构 Vue 3 组件
[译] 用 Typescript + Composition API 重构 Vue 3 组件
[译] 用 Typescript + Composition API 重构 Vue 3 组件
|
2月前
|
前端开发 JavaScript 安全
TypeScript在React Hooks中的应用:提升React开发的类型安全与可维护性
【7月更文挑战第17天】TypeScript在React Hooks中的应用极大地提升了React应用的类型安全性和可维护性。通过为状态、依赖项和自定义Hooks指定明确的类型,开发者可以编写更加健壮、易于理解和维护的代码。随着React和TypeScript的不断发展,结合两者的优势将成为构建现代Web应用的标准做法。
|
25天前
|
前端开发
React技术栈-react使用的Ajax请求库实战案例
这篇文章介绍了在React应用中使用Axios和Fetch库进行Ajax请求的实战案例,展示了如何通过这些库发送GET和POST请求,并处理响应和错误。
31 10
React技术栈-react使用的Ajax请求库实战案例
|
25天前
|
前端开发
React技术栈-react使用的Ajax请求库用户搜索案例
这篇文章展示了一个React技术栈中使用Ajax请求库(如axios)进行用户搜索的实战案例,包括React组件的结构、状态管理以及如何通过Ajax请求获取并展示GitHub用户数据。
23 7
React技术栈-react使用的Ajax请求库用户搜索案例
|
29天前
|
JSON JavaScript IDE
[译] 使用 microbundle 打包 TypeScript 组件库
[译] 使用 microbundle 打包 TypeScript 组件库
|
29天前
|
JavaScript 前端开发 安全
[译] 使用 TypeScript 开发 React Hooks
[译] 使用 TypeScript 开发 React Hooks
|
1月前
|
存储 前端开发 JavaScript
|
29天前
|
JavaScript 前端开发 安全
立等可取的 Vue + Typescript 函数式组件实战
立等可取的 Vue + Typescript 函数式组件实战
|
1月前
|
资源调度 JavaScript 前端开发
Vue3+TypeScript前端项目新纪元:揭秘高效事件总线Mitt,轻松驾驭组件间通信的艺术!
【8月更文挑战第3天】Vue3结合TypeScript强化了类型安全与组件化开发。面对大型应用中复杂的组件通信挑战,可通过引入轻量级事件发射器Mitt实现事件总线模式。Mitt易于集成,通过简单几步即可完成安装与配置:安装Mitt、创建事件总线实例、并在组件中使用`emit`与`on`方法发送及监听事件。此外,利用TypeScript的强大类型系统确保事件处理器正确无误。这种方式有助于保持代码整洁、解耦组件,同时提高应用的可维护性和扩展性。不过,在大规模项目中需谨慎使用,以防事件流过于复杂难以管理。
69 1
|
2月前
|
开发框架 监控 JavaScript
基于SqlSugar的开发框架循序渐进介绍(11)-- 使用TypeScript和Vue3的Setup语法糖编写页面和组件的总结
基于SqlSugar的开发框架循序渐进介绍(11)-- 使用TypeScript和Vue3的Setup语法糖编写页面和组件的总结