基于 monorepo 的 React 组件库文档,使用 Vite 打包。
Install dependencies:
$ pnpm installStart development server:
$ pnpm devBuild for production:
$ pnpm buildBuild and release package:
# Note this is currently work in progress
$ pnpm release如果需要安装在整个项目根目录下(每个包都可以引用),则在命令后面加 -w 参数,例如:
$ pnpm i react react-dom -w
pnpm i实际上是pnpm add的别名,-w参数实际上实际上是--workspace-root的缩写
如果只需要在某个子模块安装,直接进入子模块路径,执行 pnpm i 即可:
$ pnpm i axios在当前子模块执行:
$ pnpm i @garfield-react-component/button执行完之后可以看到 package.json 中添加了如下内容:
{
"dependencies": {
"@garfield-react-component/button": "workspace:^1.0.0"
}
}这时候就可以像正常 NPM 包一样引用了:
import { MyButton } from "@garfield-react-component/button";每个子模块需要暴露两个入口,一个是 index.tsx 作为打包入口,另一个是 index.md,作为组件库文档的入口。
- 文件系统路由
- md 文件编译
- NPM 发包
- Module Federation