我们将UI组件库的所有组件和相关业务逻辑放在 packages 目录下,包括 components、utils 和 hooks 等子包,每个子包都是一个独立的 npm 包。以下是创建及安装 components 子包的步骤,同样的方法也适用于 utils 和 hooks。
步骤 1:导航到 packages 目录
步骤 2:创建 components 目录
步骤 3:进入 components 目录
步骤 4:初始化 npm 包
步骤 5:配置 package.json 文件
在 package.json 中,将包名从 components 更改为 @better-ui/components。
为了确保项目中的子包可以相互引用和使用,我们需要在根目录下安装 components 子包。以下是安装步骤和可能遇到的问题及其解决方案:
步骤 1:安装 components 子包
使用 -w 参数确保 pnpm 在工作区模式下安装,允许子包之间的本地引用。
如果在安装子包时遇到以下错误:
这表明 @better-ui/components 包在 npm 注册表中未找到,或者您没有权限获取它。这通常是因为包尚未发布到 npm 注册表,或者配置有误。
解决方案
如果您使用的是 pnpm 版本 9 或以上,在处理项目依赖时,为了确保能够优先在本地工作区链接包,您需要在项目的根目录下的 .npmrc 文件中添加以下配置:
此设置指示 pnpm 在工作区中查找并链接包,而不是默认地从远程 npm 注册表获取。
步骤 2:查看安装结果
安装完成后,检查根目录下的 package.json 文件,确保 @better-ui/components 已正确添加到 dependencies 中。
"@better-ui/components": "workspace:^" 这一行,它表明 @better-ui/components 包已被设置为工作区依赖,这意味着它将从本地工作区中链接,而不是从远程npm仓库下载。