云函数:errCode: -404011,Unexpected token '.'解决方式?!
## 1. 现象 云函数本地调试正常,可以调用云存储;上传到云后,报:`Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID b45e09c6-427b-4afc-a539-c82a8337b691, cloud function service error code -504002, error message Runtime.UserCodeSyntaxError: SyntaxError: Unexpected token '.'`错误,卡了快1天。## 2. 环境及原因 macos: Monterey工具:Stable 1.06.2306020源码中使用了`?.`const cloud = require('wx-server-sdk');
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
});
// 云函数入口函数
exports.main = async (event, context) => {
let { obj } = event
return obj?.a?.b
};
怀疑是node版本的问题,本地是18,但应该是用开发工具提供的版本;云开发默认版本是`node12.16`;## 3. 解决办法 云开发控制台上,云函数,新建云函数,选择运行环境`node16.13`开发者工具上,同步云函数列表,显示在控制台上新建的云函数使用上面的源码,正常调用,通过!