简单尝试下云函数
'use strict' ; const cloud = require( 'wx-server-sdk' ); cloud.init({ env: 'demo' }); exports.main = (event, context, callback) => { try { db.collection( 'user' ).add({ data: { username: "learn cloud database" , password: "www" } }) } catch (e) { console.error(e) } var num1 = parseInt(event.a); var num2 = parseInt(event.b); var result=num1+num2; event.sum=result; console.log( "key:" + event.a); console.log( "Hello World" ) console.log(event) console.log(event[ "non-exist" ]) console.log(context); event.msg= "hello" ; callback( null , event); }; |
运行的时候出现
返回结果:
{"errorCode":10004,"errorMessage":"user code exception caught","stackTrace":"Cannot find module 'wx-server-sdk'"}
看这
package.json
{ "dependencies" :{ "wx-server-sdk":"*" } }
有在本地 npm install 再上传吗
没有
可以了,谢谢!
删除之前的云函数部署后 右键选择 上传并部署:云端安装依赖 后解决
在login目录,先上传并部署(不上传modules),然后在目录下面运行,npm install,然后单独上传wx-server-sdk。
1、先上传云端安装依赖之后再 打开本地调试如下,一般情况下就可以正常本地调用了
2、app.js 中设置 envId
//app.js
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力')
} else {
wx.cloud.init({
// env 参数说明:
// env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
// 如不填则使用默认环境(第一个创建的环境)
env: 'my-env-id',
traceUser: true,
})
}
this.globalData = {}
}
})
怎么好的, 我怎么npm 装了也不行
我的云函数先后上传并部署了两个,后一个是自命名为userLogin的云函数。如图所示的是其package.json文件内容。在description里加入任何一个字段(不为空),即可在云端成功调用
2楼好用
只有一个文件有package.json