收藏
回答

小程序云开发本地调试控制台报错“函数必须导出名为 'main' 的方法”bug

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 工具 wx3c5a32d9377933d8 2.10.1

勾选文件变更时自动重新加载,此bug在编辑数据库相关代码时出现,具体表现为输入一些字符如空格和删掉后,保存,就会出现以下信息。如果保存后报错,把代码改为创建新函数生成的模板代码仍会报错,另外,不只是修改数据库操作语句会产生此bug,反复按ctrl+s也有几率产生bug

安装依赖使用的命令是npm install --save wx-server-sdk@latest

代码:

const cloud = require('wx-server-sdk')
cloud.init()


// 云函数入口函数
exports.main = async (e, context) => {
  const wxContext = cloud.getWXContext()
  var time=new Date()
  var type=e.type
  var deviceid=e.deviceid
  a={
    time:time,
    type:type,
    deviceid:deviceid,
    read:false
  }
  const db = cloud.database()
  db.collection('announces').add({
    data:a
  })
  db.collection('userdevice').where({
    deviceid:deviceid
  }).get().then(
    res=>{
      console.log(res.data) 
    }
  ) 
  /*return {
    e,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
    aa:a
  }*/
}

报错信息:

node.js:1 [error] Uncaught Exception:  Error: 函数必须导出名为 'main' 的方法
    at u.load (C:\Users\duchu\AppData\Roaming\Tencent\微信开发者工具\package.nw\js\common\cloud-functions-debugger-server\worker\node.js:1:22007)
    at u.reload (C:\Users\duchu\AppData\Roaming\Tencent\微信开发者工具\package.nw\js\common\cloud-functions-debugger-server\worker\node.js:1:26848)
    at C:\Users\duchu\AppData\Roaming\Tencent\微信开发者工具\package.nw\js\common\cloud-functions-debugger-server\worker\node.js:1:28280
    at process. (C:\Users\duchu\AppData\Roaming\Tencent\微信开发者工具\package.nw\js\common\cloud-functions-debugger-server\worker\node.js:1:28356)
    at process.emit (events.js:203:13)
    at emit (internal/child_process.js:876:12)
    at processTicksAndRejections (internal/process/task_queues.js:77:11)
m @ node.js:1
(anonymous) @ node.js:1
emit @ events.js:203
(anonymous) @ internal/process/execution.js:150
TickObject (async)
init @ internal/inspector_async_hook.js:21
emitInitNative @ internal/async_hooks.js:134
emitInitScript @ internal/async_hooks.js:341
TickObject @ internal/process/task_queues.js:102
nextTick @ internal/process/task_queues.js:130
handleMessage @ internal/child_process.js:885
channel.onread @ internal/child_process.js:574




最后一次编辑于  2020-02-12
回答关注问题邀请回答
收藏

6 个回答

  • 木木木
    木木木
    2020-06-04

    我要吐了啊,我这里每次ctrl+s就会报错!!!更新完就这样了,只能每次重新关闭再打开了!官方大大们加急啊

    2020-06-04
    有用 3
    回复
  • Minyan
    Minyan
    2020-05-29

    哎 ,1.03的稳定版 这个BUG还是没改掉 ,估计是因为 某种不兼容引起的, 我看了论坛的帖子,要么不遇到,要么必现 ,只好用上一个稳定版了

    2020-05-29
    有用 1
    回复 8
    • Minyan
      Minyan
      2020-05-29
      官网找半天也找不到 上个稳定版的 下载地址 
      幸好 在本地找到之前的 wechat_devtools_1.02.1911181_x64 ,重装开发工具后 一切就正常
      2020-05-29
      回复
    • Minyan
      Minyan
      2020-05-29
      不知道 是系统哪里的冲突 ,  把node.js 升级到最新版 ,不行
      把 1.03卸载重新安装也不行
      2020-05-29
      回复
    • Minyan
      Minyan
      2020-05-29
      如果 找不到   wechat_devtools_1.02.1911181_x64 包的 留下邮箱 ,我可以发给你们,  没改一些云函数,就要关闭一次 本地调试,  这样本地调试根本就没用 ,简直受不了
      2020-05-29
      回复
    • Minyan
      Minyan
      2020-05-30
      我的版本 是win10 家庭中文版 ,版本号1909, 路过遇到相同问题的人, 也把自己电脑的版本号留下,  这样方便  官方 尽可能缩小 问题的范围, 同时,也可以让官方知道 这批人有多少,  已经两个稳定版 ,这个问题都没解决,  换句话说,如果声音没有足够大, 官方可能认为这个是个小概率事件 ,就不花事件解决了.
      2020-05-30
      回复
    • C叔
      C叔
      2020-06-08
      官方没有给解决吗
      2020-06-08
      回复
    查看更多(3)
  • 大时代
    大时代
    2020-11-05

    2020-11-05
    有用
    回复
  • YES AND
    YES AND
    2020-06-11

    同样遇到了

    2020-06-11
    有用
    回复
  • Sean
    Sean
    2020-05-19

    同样出现此问题,官方快来给个答复呀

    2020-05-19
    有用
    回复
  • 小龙
    小龙
    2020-04-09

    我也碰到了,必须重新打开 本地调试

    2020-04-09
    有用
    回复
登录 后发表内容
问题标签