Nx TypeScript 单体仓库中 Pinata SDK 构造函数初始化失败求助
Nx TypeScript 单体仓库中 Pinata SDK 构造函数初始化失败求助
我来帮你排查下这个初始化失败的问题~这种情况大概率是TypeScript模块解析和Pinata SDK导出方式不兼容导致的,结合你用的Nx monorepo场景,给你几个可行的解决方案:
尝试官方推荐的解构导入方式
现在Pinata SDK的TypeScript版本已经推荐直接解构导入构造函数了,替换掉你之前的default导入试试:import { PinataSDK } from '@pinata/sdk'; const pinata = new PinataSDK({ pinataApiKey: 'yourPinataApiKey', pinataSecretApiKey: 'yourPinataSecretApiKey' });之前的
.default调用失效,很大可能是因为SDK的导出结构在TS环境下发生了变化,这种解构方式能直接拿到正确的构造函数。检查并调整TS配置
打开你Nx项目的tsconfig.base.json(或者package A专属的tsconfig.json),确保以下几个编译选项配置正确:{ "compilerOptions": { "moduleResolution": "node16", "esModuleInterop": true, "allowSyntheticDefaultImports": true } }moduleResolution: node16能适配现代ES模块的导出规则,而esModuleInterop和allowSyntheticDefaultImports可以让TS更好地处理CommonJS模块的导入,避免出现找不到default导出的情况。升级SDK到最新稳定版
有些旧版本的Pinata SDK可能存在导出方式的兼容性问题,建议先升级到最新版:yarn upgrade @pinata/sdk -W升级完成后再用上面的解构导入方式测试。
清除Nx缓存(如果构建/开发模式下仍有问题)
Nx的缓存有时候会导致模块解析出现异常,试试清除缓存后重新构建项目:npx nx reset
备注:内容来源于stack exchange,提问作者NewToCode
相关产品推荐
相关产品推荐

