我怀疑这里是因为 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。
miniprogram-cihttps://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.这个是什么问题呢
星期二 18:54