Monorepo 中 pnpm 安装依赖后子项目找不到公共组件怎么办?
我在用 pnpm 搭建的 monorepo 项目里,把公共 UI 组件放到了 packages/ui 目录下,其他子应用通过 workspace:* 引用。但运行时一直报模块找不到,本地开发完全跑不起来。
我检查了 package.json 的 dependencies 配置,也执行了 pnpm install,link 看起来是成功的。是不是我的引用方式有问题?
<template>
<div>
<CommonButton /> <!-- 这个组件来自 packages/ui -->
</div>
</template>
packages/ui目录下的package.json,确保它有一个正确的name字段,比如"name": "ui"。然后在你的子项目中,dependencies或devDependencies应该这样写:确保你的
pnpm-workspace.yaml文件配置正确,应该包含类似这样的路径:有时候缓存会搞事,试着清除 pnpm 缓存然后再安装依赖:
最后,确认你的 IDE 或编辑器是否正确识别了工作区链接,有时候重启编辑器能解决一些奇怪的问题。
调试看看,希望这些步骤能帮你解决问题。