配置iOS PushAdapter后Parse Dashboard出现500错误,求解决方案
解决Parse Dashboard配置iOS推送后出现的500错误问题
问题原因
你遇到的TypeError: Converting circular structure to JSON错误,是因为直接在Parse Dashboard配置中实例化了PushAdapter对象。Parse Dashboard会尝试将整个配置对象序列化为JSON返回给前端,但PushAdapter实例内部存在循环引用的属性,导致JSON序列化失败,最终触发500服务器错误。
解决方案
不要直接实例化PushAdapter,改用配置对象的方式定义推送适配器,让Parse Server自动加载并初始化适配器。修改后的配置代码如下:
const parseConfig = { apps: [ Object.assign({ databaseURI, cloud: './cloud/main.js', serverURL, appId, masterKey, restApiKey, javascriptKey, appName, supportedPushLocales: ['en'], production: isProdEnv, masterKeyIps: ['0.0.0.0/0'], push: { adapter: { module: '@parse/push-adapter', // 指定适配器模块 options: { // 适配器配置参数 ios: [ { token: { key: './secrets/ios/my-cert.p8', keyId: '34SW5XLWJ3', teamId: 'ASMXHG4HKJ', }, topic: 'com.example.myapp', production: false, } ] } } } }) ], users: [ { user, pass }, ], }
关键说明
- Parse Server支持通过
module字段指定推送适配器的npm包,自动加载并使用options中的参数初始化适配器,避免了手动实例化带来的循环引用问题。 - 这种配置方式符合Parse Server的规范,同时保证了配置对象是纯JSON可序列化的,能被Parse Dashboard正常处理。
内容的提问来源于stack exchange,提问作者Nadav Avisror
相关产品推荐
相关产品推荐

