malagu Failed to resolve moduld 问题

部分报错信息

Failed to resolve module: class-transformer
Failed to resolve module: class-validator
Failed to resolve module: inversify
Failed to resolve module: lodash.debounce
Failed to resolve module: lodash.throttle
Failed to resolve module: loglevel
Failed to resolve module: process
Failed to resolve module: reflect-metadata
Failed to resolve module: setimmediate

根据经验确定这应该是 malagu 加载模块的部分不兼容 pnpm 的树状结构所致

image.png查阅代码后所定位到的报错代码

依赖版本不一致

放弃修改 malagu 项目本身使用 pnpm 了,需要改的地方太多了,对项目又不太熟悉

考虑:有些库可能就是需要旧版本的,但在 malagu 内所维护的 package 应该要尽量保持一致(共用的第三方包仅在工作空间中声明,利用工作空间存在 node_modules 以及 require 在找包的时候会一级一级往上找),对于需要旧版本的再单独在 package.json 中声明

例如:typescript 版本不一致(有些是旧版本),解决方案:在工作空间中安装最新版 tsimage.png

例如:多个 package依赖同一个包,同步版本会比较繁琐,就可以选择装在工作空间那一层

image.png

by 崮生 from 崮生 • 一些随笔 🎨,欢迎 赞助本文
本文欢迎分享与聚合,全文转载未经授权( 联系我)不许可。