uni-app 本地运行云函数正常 提交线上运行报错

uni-app 本地运行云函数正常 提交线上运行报错

示例代码:

看附件

操作步骤:

  1. 用模拟参数请求第二页内容,就会报错

预期结果:

代码正常执行

实际结果:

执行失败

bug描述:

  1. 本地运行云函数正常
  2. 提交线上请求报请求云函数超时

出现原因
请求线上请求第一页数据没有问题,当请求第二页数据报错,在本地模拟参数执行请求成功,但是上传到线上运行会失败

1 回复

更多关于uni-app 本地运行云函数正常 提交线上运行报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在使用 uni-app 开发时,如果本地运行云函数正常,但提交到线上后运行报错,可能是由于以下原因导致的。你可以按照以下步骤排查和解决问题:


1. 检查云函数依赖

  • 本地运行正常,但线上报错,可能是因为云函数的依赖没有正确上传。
  • 确保在云函数目录下执行 npm installyarn install,并将 node_modules 目录一起上传。
  • 如果使用 uniCloud,可以在云函数目录下执行 npm install --production,确保只安装生产环境依赖。

解决方法

  • 在云函数目录下删除 node_modules,然后重新执行 npm install
  • 确保云函数目录下有 package.json 文件,且依赖项正确。

2. 检查云函数配置

  • 线上环境可能缺少某些配置,例如云函数的 config.json 文件未正确上传。
  • 确保云函数的配置文件(如 config.json)与本地一致。

解决方法

  • 检查云函数的配置文件是否上传到线上。
  • 如果使用环境变量,确保在 uniCloud 控制台中正确配置。

3. 检查云函数权限

  • 线上环境可能需要额外的权限,例如数据库读写权限、API 调用权限等。
  • 确保云函数在线上环境有足够的权限。

解决方法

  • uniCloud 控制台中,检查云函数的权限设置。
  • 确保数据库、存储等资源的权限配置正确。

4. 检查云函数代码兼容性

  • 本地环境和线上环境可能存在差异,例如 Node.js 版本不同。
  • 确保云函数代码兼容线上环境的 Node.js 版本。

解决方法

  • package.json 中指定 Node.js 版本:
    "engines": {
      "node": "14.x"
    }
回到顶部