一蜘矢、初始化工程
腳手架(內(nèi)置release-it芭梯,commitlint)
npx create-react-native-library react-native-zhoupu-ui
二、Dumi集成
什么是dumi
dumi,中文發(fā)音嘟米烘绽,是一款為組件開發(fā)場景而生的文檔工具穴翩, dumi 負責組件開發(fā)及組件文檔生成。
集成dumi荸哟、dumi-theme-mobile等庫
"devDependencies": {
"dumi-theme-mobile": "1.0.10",
"core-js": "^3.8.2",
"dotenv-cli": "^4.0.0",
"umi-plugin-react-native": "^0.1.1"
"dumi": "1.1.10"
}
文件配置
配置dumi文件.umirc.ts
import { defineConfig } from 'dumi';
export default defineConfig({
title: '舟譜大金剛',
favicon: './assets/logo.jpg',
logo: './assets/logo.jpg',
outputPath: 'docs-dist',
mode: 'site',
locales:[['zh-CN', '中文']],
});
配置.gitignore文件
# umi
.umi
.umi-production
.umi-test
.env.local
配置docs文件夾
---
title: 舟譜大金剛 - 基于 dumi 和 TypeScript 實現(xiàn)的移動端組件庫
hero:
title: 舟譜大金剛
desc: 移動端組件庫
actions:
- text: 開始使用
link: /guide
features:
- title: 開箱即用
desc: 使用方式簡單
- title: React 進階必備
desc: 使用 React 函數(shù)式編程
- title: TypeScript
desc: 代碼全部使用 TypeScript 開發(fā)假哎,提供完整的組件和 API 類型定義
---
配置package.json文件
"scripts": {
"start": "dumi dev",
"docs:build": "dumi build",
}
本地預覽文檔
執(zhí)行 start 命令
三瞬捕、組件開發(fā)以及對應文檔文件的編寫
目錄層級
文檔編寫
導航、分組舵抹、標題編寫
實例Demo編寫
API自動生成
export組件
組件調(diào)試
example工程調(diào)試
example文件夾執(zhí)行yarn install
其子目錄ios文件夾執(zhí)行pod install
運行example工程
wml軟連接調(diào)試
四肪虎、代碼發(fā)布流程
流程
目前鏡像文件的配置只是針對NPM,那么發(fā)布的時候也是使用NPM命令
"scripts": {
"prepare": "bob build",
"release": "dotenv release-it",
},
通過 npm run prepare 就可以生成用于發(fā)布的 .js .d.ts 文件惧蛹。
通過 npm run release即可發(fā)布
得益于react-native-builder-bob框架扇救,在執(zhí)行npm run release 命令會時,我們不需要修改版本號信息香嗓,也不需要打tag,直接執(zhí)行該命令即可迅腔。
發(fā)布常見問題
提示需要登錄
ERROR Not authenticated with npm. Please `npm login` and try again.
該問題的出現(xiàn)說明NPM配置有問題,需要檢查NPM配置靠娱。
Token報錯
ERROR Environment variable "GITLAB_TOKEN" is required for GitHub releases.
Documentation: https://github.com/release-it/release-it#github-releases
因為我們現(xiàn)在要發(fā)布代碼沧烈,那么我就需要這個代碼倉庫的讀寫權限,所以報這個錯誤的時候像云,我們需要去gitlab申請Personal Access Tokens锌雀。
1、登錄GitLab
2迅诬、點擊右上角頭像選擇setting
3腋逆、在左邊導航列表中選擇Access token
4、輸入Name(隨便輸入)和過期時間侈贷。
5惩歉、勾選read_repository和write_repository
6、點擊生成
生成token之后俏蛮,在工程根目錄下面創(chuàng)建.env,在該文件夾下面配置token
同時該.env文件不可上傳撑蚌,因為一旦上傳到GitLab,那么GitLab會檢測到嫁蛇,那么此token就會失效锨并。(此代碼已提交)
五、更新日志的生成
自動生成
執(zhí)行npm run release會在根目錄自動生成一個CHANGELOG.md文件
文檔中展示更新日志
因為生成的CHANGELOG文件位于根目錄下睬棚,dumi識別不到該.md第煮,所以執(zhí)行了腳本,將根目錄下的CHANGELOG.md拷貝到docs/guide目錄下抑党,并且添加標題包警。
"scripts": {
"release": "dotenv release-it && node scripts/movelog.js",
}
六、文檔打包和發(fā)布流程
打包
"scripts": {
"docs:build": "dumi build",
}
打包成功后底靠,會在根目錄下生成一個docs-dist文件夾
發(fā)布
根據(jù)每個公司的情況害晦,自行發(fā)布。