小程序
小游戏
企业微信
微信支付
扫描小程序码分享
https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html
通过异步的方式 上传一个小程序成功之后再上传另一个提示child process stderr: getAppJSON error TypeError: Cannot destructure property 'setting' of 'r' as it is undefined.这个是什么问题呢
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我怀疑这里是因为 const ci = require('miniprogram-ci'); 的 ci 对象在第一次的上传操作过程中被污染,如果要继续上传其他 appId,会程序出错。
我这里是起了个子进程来处理 miniprogram-ci 的遍历工作的。
把 miniprogram-ci 的工作单独放到一个 js 文件中
// child.js const ci = require('miniprogram-ci'); process.on('message', async (data) => { const project = new ci.Project({ ... }); const uploadResult = await ci.upload({ ... }) process.send(''); // 返回处理结果 process.exit(); // 结束子进程 });
然后在主进程中定义 publishMiniProgram 方法
const { fork } = require('child_process'); function publishMiniProgram(options) { return new Promise((resolve, reject) => { const child = fork('./child.js'); child.send(options); // 向子进程发送数据 child.on('message', resolve); // 接收子进程返回的数据 child.on('error', reject); // 捕获子进程的错误 child.on('exit', (code) => { if (code !== 0) { reject(new Error(`exit code: ${code}`)); } }); }); }
最后在遍历里面调用 publishMiniProgram。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
同样报错,有解决方案吗??
老哥这个问题解决了吗
代码和官方的demo基本一致 只是多了一个上一个上传完毕就上传下一个的逻辑
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我怀疑这里是因为 const ci = require('miniprogram-ci'); 的 ci 对象在第一次的上传操作过程中被污染,如果要继续上传其他 appId,会程序出错。
我这里是起了个子进程来处理 miniprogram-ci 的遍历工作的。
把 miniprogram-ci 的工作单独放到一个 js 文件中
// child.js const ci = require('miniprogram-ci'); process.on('message', async (data) => { const project = new ci.Project({ ... }); const uploadResult = await ci.upload({ ... }) process.send(''); // 返回处理结果 process.exit(); // 结束子进程 });
然后在主进程中定义 publishMiniProgram 方法
const { fork } = require('child_process'); function publishMiniProgram(options) { return new Promise((resolve, reject) => { const child = fork('./child.js'); child.send(options); // 向子进程发送数据 child.on('message', resolve); // 接收子进程返回的数据 child.on('error', reject); // 捕获子进程的错误 child.on('exit', (code) => { if (code !== 0) { reject(new Error(`exit code: ${code}`)); } }); }); }
最后在遍历里面调用 publishMiniProgram。
同样报错,有解决方案吗??
老哥这个问题解决了吗
代码和官方的demo基本一致 只是多了一个上一个上传完毕就上传下一个的逻辑