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
- 源码中使用了
?.
怀疑是node版本的问题,本地是18,但应该是用开发工具提供的版本;云开发默认版本是1
2
3
4
5
6
7
8
9
10
11const cloud = require('wx-server-sdk');
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
});
// 云函数入口函数
exports.main = async (event, context) => {
let { obj } = event
return obj?.a?.b
};node12.16
;
3. 解决办法
- 云开发控制台上,云函数,新建云函数,选择运行环境
node16.13
- 开发者工具上,同步云函数列表,显示在控制台上新建的云函数
- 使用上面的源码,正常调用,通过!