React导入nft.storage报错Cant resolve ipfs-car/blockstore/memory求助
报错解决方法
这个报错由webpack 5+默认不再自动解析node_modules依赖包内部的深层相对导出路径导致,你可以通过以下任意一种方案解决:
- 方案1:修改webpack配置添加路径映射
如果你的项目可以直接修改webpack配置(已eject的CRA项目、自定义webpack配置项目),或者使用craco/react-app-rewired等工具覆盖配置,在配置的resolve.alias字段添加如下内容即可:
resolve: { alias: { 'ipfs-car/blockstore/memory': require.resolve('ipfs-car/dist/esm/blockstore/memory.js') } }
- 方案2:直接导入预构建的浏览器版本
无需修改任何构建配置,只需要替换你的导入语句即可:
原导入代码:import { NFTStorage, File } from 'nft.storage'
替换为:import { NFTStorage, File } from 'nft.storage/dist/bundle.esm.min.js' - 方案3:降级nft.storage到6.x版本
7.0及以上版本的nft.storage才会触发该路径解析问题,安装v6.x的稳定版本即可规避报错:
执行安装命令:npm install nft.storage@6.4.1
内容的提问来源于stack exchange,提问作者Tasos Valtinos
相关产品推荐
相关产品推荐

