华落
华落
>  > > 这几个依赖在 build-plugin-lowcode 里都有 dep 声明,pnpm 却没有安装,请问是哪里不规范呢? 你的语气稍微有点强硬,不过我还是理解为你在和我讨论问题,我这边稍微有点理解,但是我pnpm学习时间也不长,有问题请指出。 首先你指出的依赖并没有安装的问题,实际上他是安装了,pnpm node_modules 下的内容我理解是个索引,所有的依赖实际安装在.pnpm 目录下,如下图所示。  那既然安装了,为啥还是报错未找到呢  我理解可能是因为pnpm解决了幽灵依赖的问题 幽灵依赖例如:你引入了A包和B包,同时A包里面又引入了C包,这时候你在B包中是可以使用C包的内容的(虽然并未声明)。 这实际上是不规范的,一旦A包修改了C包的版本,或者删除C包的依赖,都可能会导致B包报错。 所以虽然你在某个包中声明了@alilc/lowcode-react-renderer,但是在使用的地方/Users/alsc/Documents/lowCode/lpd-com-test-2/.tmp 并没有声明 @alilc/lowcode-react-renderer ,在pnpm中会报错。
> @Alubb77 感谢你的回复,不过这里面有些错误我要指出一下,首先这个报错不是 pnpm 报的,而是 webpack 报的。webpack 按照他的依赖解析规则没有找到这个包(注意在 npm 和 cnpm 中不存在问题),而为什么找不到这个包呢,是因为在 node_modules 下确实没有 @alilc/lowcode-react-renderer 这个目录(虽然 .pnpm 里有,但这个 webpack 是不认的,他只认官方的目录结构),那为什么他没有生成对应的目录,这个我也还没搞清楚,有想法的同学,可以下面回复来帮助问题解决~ 。第二个错误是这不是幽灵依赖问题,@alifd/build-plugin-lowcode 直接依赖了 @alilc/lowcode-react-renderer(代码和 package.json),而且在代码中直接使用了他,这是一个标准的自依赖,而不是一个 B 使用 A 依赖的 C 的问题。...
> 一般来说,临时文件很少有直接放在自己包下面这种操作的 是很奇怪,我先选择把这几个依赖加在组件的package.json,感觉除非不要这几个中间态文件,不然没有什么很优雅的实现方案。看看能不能不要中间态直接生成最终产物。