参照NEAR官方文档连接NEAR Wallet时出现keyStores属性不存在报错
问题原因
该报错由near-api-js版本不匹配导致:
- 旧版1.x版本中
keyStores、WalletConnection均为根包直接导出的属性,和旧版官方示例的解构写法匹配 - 2.0及以上版本重构了包导出结构,
keyStores被移动到独立子包单独导出,WalletConnection也被弃用替换为新的API,原有解构写法无法找到对应属性就会抛出该类型错误。
解决方法
方案1:降级到1.x版本
如果要沿用原有代码写法,直接将依赖回退到最新的1.x稳定版即可:
- 卸载当前高版本依赖
npm uninstall near-api-js
- 安装指定版本
npm install near-api-js@^1.1.0
重新运行项目即可正常执行原有解构代码。
方案2:适配2.x+版本新API
如果要使用新版特性,调整导入逻辑即可:
// 导入基础通用方法 import { connect } from "near-api-js"; // 单独从子包导入keyStores import * as keyStores from "near-api-js/keystores"; // 新版已弃用WalletConnection,替换为WalletAccount import { WalletAccount } from "near-api-js";
内容的提问来源于stack exchange,提问作者dan_0
相关产品推荐
相关产品推荐

