小程序云函数 Error: errCode: -404011 cloud function execution error

  • A+
所属分类:Web 学习笔记

云函数“点获取openid”测试失败,出现下图所示的提示,并且控制台会提示以下错误信息:
VM86:1 [云函数]

此处为隐藏的内容!
登录后才能查看!
调用失败 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail cloud function service error code -504002, error message Function not found:
此处为隐藏的内容!
登录后才能查看!
; at cloud.callFunction api;

出错原因

云端运行环境为 Node.js,需要先在本地安装 Node.jsnpm才能顺利测试。同时还要在云函数目录下安装 wx-server-sdk 依赖:
npm install --save wx-server-sdk

详细内容参见官方文档https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/

解决方案

1.安装node.jsnpm

  • node.js 下载地址
    https://nodejs.org/en/
  • 安装node.js时会同时安装npm
  • 测试安装是否成功
    安装完成后打开cmd:
    输入node -v 来测试 node.js
    输入npm -v 来测试 npm

2.安装wx-server-sdk依赖。

  • 在cmd中首先通过cd 云函数路径的命令,定位到云函数目录,这里要定位到某个具体的云函数文件夹内,如login函数则要定位到login文件夹内。然后再执行npm install --save wx-server-sdk命令,安装wx-server-sdk依赖。对于每一个你创建云函数都要安装该依赖。
  • 如果在执行安装命令后出现类似错误提示:rollbackFailedOptional: verb npm-session ****************,这是由于npm官方库是国外的网站,在访问时可能由于网络原因导致异常。
    解决方案:执行npm config set registry "http://registry.npm.taobao.org"命令,将官方库替换为淘宝库即可。
  • 执行命令后可能会出现以下警告:
npm WARN **** No description 
npm WARN **** No repository field

直接忽略即可,并不会影响后续的云函数功能。成功安装依赖后,相应的云函数文件夹将生成一个package-lock.json文件。

安装前的目录

安装后的目录

3.上传云函数

  • 在相应的云函数文件夹上右键,选择“上传并部署:所有文件”。

作者:徐喷以烟
链接:https://www.jianshu.com/p/738d285ad021
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

还要注意云函数app.js里面的id要和环境一致

wx.cloud.init({     
 env: '***', //这里一定要换成你自己的云开发环境id     
 traceUser: true,    }) 

project.config.json里的 "cloudfunctionRoot": "functions/", 路径要写相对路径。

zore

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: