有一天一个新手同学🙋找我,请教了一个问题,那小程序项目怎么放云开发项目里呢❓,过后有考虑还有很多同学会与TA一样,笔者TA远方将此方案整理出来写成文章分享🤝
关于能看懂此文章的条件
- 会使用微信开发工具
- 开发过微信小程序,熟悉JavaScript
- 对云开发的知识有一点了解,相关知识点Node.js, npm
-
我们在新建小程序项目的时候,默认会勾选
微信云开发
,如下图,这里注意到:AppID使用测试号
的话,没有微信云开发
可选的,要注册
一个小程序,有注册过的话,下拉选项就有可选的AppID,然后点击确认,由开发工具自动构建好云开发项目
-
来看下面云开发项目下有哪些文件夹,小程序项目
miniprogram
里面结构没有变,做后端的不会经常改动它,在最后前端与后端对接的时候,这里就需要前端写一些请求后端的逻辑代码,就好比远程操作后端写的云函数
云开发项目
- cloudfunctions
- miniprogram
项目说明
- 文件夹
cloudfunctions
,是存放云函数的,与后端开发很像;- 文件夹
miniprogram
,原小程序项目会放在这里,相当于前端做的;- 前端与后端分工明确,云开发里的小程序项目名就不再是原来的,替换的时候要更名为
miniprogram
- 前端的在使用云函数前,需要先在
./miniprogram/app.js
里onLaunch()
启动方法中写好初始化云函数Cloud API,还有写一个云函数调用方法post(config)
统一调用,这个调用云函数方法进一步简化了,看着清晰容易理解吧,代码如下,代码少写的好处,看着简单轻松
//云开发环境ID
const CONFIG_ENV = 'l*****d-n939c';
App({
//全局变量
globalData:{
//...
},
/**
* 小程序启动初始化
*/
onLaunch: function () {
//判断,非必须
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力')
} else {
//初始化云开发能力
// env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
// 如不填则使用默认环境(第一个创建的环境)
wx.cloud.init({
env: CONFIG_ENV,
traceUser: true
});
}
},
/**
* 云函数调用方法
* 配置参数说明:
* config {
* name 云函数名
* postData 传参,类似jQuery.post data 对象 { _id : -1 }
* success 成功返回函数
* fail 失败返回函数,非必须的
* }
*/
post: function (config) {
//判断,非必须
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力');
return;
}
wx.cloud.callFunction({
name: config.name || 'test'