Open SANmq opened 4 months ago
The latest updates on your projects. Learn more about Vercel for Git ↗︎
此次修改主要是增强了对某些库(如 qrcode
)的地址解析兼容性,这些库在其 package.json
文件中配置了 browser
入口点。具体实现是通过在 resolveUtils.ts
文件中的 browserResolver
中添加 aliasFields: ["browser"]
来实现的。
文件路径 | 变更摘要 |
---|---|
packages/mfsu/src/utils/resolveUtils.ts | 在 browserResolver 中添加了 aliasFields: ["browser"] 以支持解析带有 browser 入口点的库 |
代码改动如春风, 解析兼容更从容。
aliasFields
新添处, 库中路径不迷蒙。
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
感觉不是 resolve 配置的问题,我新创建一个 umi 项目,安装 qrcode ,然后按照官方 readme 里的 demo 使用是正常运行的。
感觉不是 resolve 配置的问题,我新创建一个 umi 项目,安装 qrcode ,然后按照官方 readme 里的 demo 使用是正常运行的。
你试试官方给的测试用例,examples/mfsu-independent这个项目,你下个qrcode试试看,我试了一下dev报错
关于resolveUtils.test.ts里的测试用例我看过了,没有{ "name": "qrcode", "version": "1.5.3", "main": "./lib/index.js", "browser": { "./lib/index.js": "./lib/browser.js", "fs": false } }
的例子。即browser是一个对象的例子,至于umi项目为啥没这个问题我没有尝试过,umi项目使用的时候用的是eager策略,这个我不清楚能不能用在我们那个项目上,试了一下配置了eager运行会报错。
具体表现为qrcode这种node环境和浏览器环境不同代码的,且在package.json中配置了browser的库。升级项目采用mfsu时遇到打包依赖报错,入口选择node版本的。也希望官方给出更好的方案,遇到问题的库时 qrcode@1.5.3
Summary by CodeRabbit
qrcode
)的兼容性,这些库在其package.json
中配置了browser
入口点。