使用TypeScript开发微信小程序(云开发)-入门篇
配置小程序云开发 TypeScript 环境
1. 检查本地 nodejs 环境

2. 安装 TypeScript npm install typescript --save-dev

3. 初始化/配置 TypeScript
3.1 初始化 ./node_modules/.bin/tsc --init

3.2 修改tsconfig.json配置
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"typeRoots": ["./typings"],
"esModuleInterop": true,
"strict": true,
"skipLibCheck": true
},
"include": ["./miniprogram/**/*.ts", "./cloudfunctions/**/*.ts"],
"exclude": ["node_modules"]
}
3.3 添加 TypeScript .d.ts 文件
- 在项目根目录新建文件夹
typings(与 tsconfig.json>compilerOptions>typeRoots 配置一致) - 复制 https://github.com/wechat-miniprogram/api-typings/tree/master/types 目录下的所有文件到 typings 文件夹
- 如果无法访问,也可从这里下载: typings.zip

4. 配置编译命令
4.1 在package.json添加scripts命令
"tsc": "node ./node_modules/typescript/lib/tsc.js"

4.2 修改project.config.json,添加自定义处理命令
{
"scripts": {
"beforeCompile": "npm run tsc",
"beforePreview": "npm run tsc",
"beforeUpload": "npm run tsc"
}
}

4.3 在“微信开发者工具”中启用自定义处理命令

示例
1. 调用微信云函数获取微信步数
// 小程序端,获取微信步数相关数据
async getWxRunData(): Promise<WechatMiniprogram.GetWeRunDataSuccessCallbackResult> {
return new Promise((resolve, reject) => {
wx.getWeRunData({
success: resolve,
fail: reject
});
});
}
// 云函数 getOpenData
export const main = async (event: { cloudID: string }) => {
const { cloudID } = event;
...
// 通过云调用直接获取开放数据
const openData = await cloud.getOpenData({
list: [cloudID]
})
return {
errCode: 0,
errMsg: '获取成功',
data: openData.list[0].data
}
...
}
2. 云函数调用数据库存储用户步数
// 小程序端
await wx.cloud.callFunction({
name: 'createUserStep',
data: {
step
}
});
// 云函数 createUserStep
const { step } = event;
const wxContext = cloud.getWXContext();
const openid = wxContext.OPENID;
const userStepQuery = {
openid,
date: db.RegExp({
regexp: `^${getCurrentDate()}`,
})
}
const userStep = await userStepCollection.where(userStepQuery).get() as cloud.DB.IQueryResult;
if (userStep.data.length > 0) {
userStepCollection.doc(userStep.data[0]._id!).update({ data: { step } })
} else {
userStepCollection.add({
data: {
step,
openid,
date: getCurrentDate()
}
})
}
return userStep.data;

Github地址:https://github.com/greywen/MiniprogramCloudDevelopmentTemplate-TypeScript
参考:
https://www.cnblogs.com/xiabings/p/17171277.html
使用TypeScript开发微信小程序(云开发)-入门篇的更多相关文章
- 微信小程序云开发使用Typescript
1.首先参考陈希章@中国在微信小程序开发中使用Typescript中的内容了解相关的内容 2.按以下步聚进行设置 1)确认本机环境已安装npm.通过在安装目录下输入 npm --v 如返回具体的版本, ...
- 微信小程序云开发如何上手
简要介绍 微信小程序云开发,是基于 Serverless 的一站式后端云服务,涵盖函数.数据库.存储.CDN等服务,免后端运维.基于云开发可以免鉴权调用微信所有开放能力. 前提准备 微信开发者工具 创 ...
- 技本功丨收藏!斜杠青年与你共探微信小程序云开发(下篇)
2019年2月26日,人们为了一个杯子疯了一天. 星巴克猫爪杯,一场已经与猫无关了的“圣杯战争“.网上的倒卖价格,已炒至近千元! 求而不得,舍而不能,得而不惜.这是人最大的悲哀... 所以,请珍惜以下 ...
- 微信小程序-云开发(手记)
微信小程序-云开发(手记) 1.创建data.json文件 注意以下几点要求: 入门示例: init方法的env:默认环境配置,传入字符串形式的环境 ID(理解为数据库)可以指定所有服务的默认环境(意 ...
- 第六章 “我要点爆”微信小程序云开发实例之爆文详情页制作
爆文详情页制作 从首页中数据列表打开相应详情页面的方法: 给数据列表中每个数据项加一个点击事件,同时将当前数据项的id暂时记录在本地,然后跳转到详情页面detail goopen: function ...
- 第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现
第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现 开发环境搭建 使用自己的AppID新建小程序项目,后端服务选择小程序·云开发,点击新建,完成项目新建. 新建成功后跳转到开发者工具界面 ...
- “我要点爆”微信小程序云开发实例
使用云开发进行微信小程序“我要点爆”的制作 下一章:“我要点爆”微信小程序云开发之项目建立与我的页面功能实现 接下来我将对“我要点爆”微信小程序进行完整的开源介绍 小程序名称: 我要点爆 查看方式:从 ...
- 基于微信小程序云开发实现的婚礼邀请函模板,可自行定制开发
这个婚礼邀请函是之前帮别人做的,现在人家婚礼举办过了也没啥关系了,想着就修改成通用模板进行开源,方便大家尤其是小白们克隆项目之后稍微修改就能够直接使用. 当时自己开始这个项目时候也是查阅了很多教程文章 ...
- 微信小程序云开发-从0打造云音乐全栈小程序
第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...
- 微信小程序云开发不完全指北
微信小程序云开发不完全指北 首先必须说明云开发的"云"并不是类似云玩家里的云的意思,而是微信小程序真的提供了云开发的接口以及一个简单的提供存储.数据库服务的虚拟后台(对于一些轻量小 ...
随机推荐
- Zabbix 安装报错解析
一.Q:Error connecting to database: Access denied for user 'zabbix' @ 'localhost' to database 'zabbix' ...
- 具体数学组合数习题选做(Genshining)
8.计算 \[\sum_k\binom{n}{k}(-1)^k(1-\frac{k}{n})^n \] 解: 考虑 \[\sum_{k=0}^n\binom{n}{k}(-1)^kf(k)=(-1)^ ...
- Flink监控看板Dashboard解析
一. 二.常见问题排查 1.数据反压 背压(Backpressure)机制排查 点击JobName 点击某个算子 点击Backpressure查看,状态为HIGH时,则存在数据反压问题 注:若流程为A ...
- jenkins+gitee+tomcat
1.Jenkins [系统配置]添加gitee服务 2.项目配置 General 配置之前配置的gitee服务连接 3.源码配置 4.构建配置 5.构建触发器配置 最重要的是: 6.在gitee中配置 ...
- MacOS环境配置Homebrew
Homebrew笔记 1. 介绍 官网:https://brew.sh/ 对于习惯了使用命令来完成一切的程序员来说,安装软件这种小事,自然是能够用命令解决,就不用图形界面选择.但是在 Linux 中, ...
- Vue press 支持图片放大功能的代码分享
介绍 VuePress 由两部分组成:一个以 Vue 驱动的主题系统的简约静态网站生成工具,和一个为编写技术文档而优化的默认主题.它是为了支持 Vue 子项目的文档需求而创建的. 由 VuePress ...
- vue路由$router.push()的三种传参方式
- Linux - 关于yum源 file & ftp & http 的三种配置方式
一.环境准备 1.两台Centos服务器:node1.node2 2.配置ip:node1(192.168.2.111).node2(192.168.2.112) 3.关闭防火墙 systemctl ...
- Scala Set集合 元素唯一,无序
package com.wyh.day01 /** * Set集合 * 唯一,无序 * * Set中大部分方法与List一致,但是不可以进行排序 */ object ScalaSet { def ma ...
- DSP 28335 TTL SCI串口通讯 出错无法进入接收
项目上通过普通SCI串口在两个DSP28335之间进行通讯,一主一从,主机向从机发送指令,触发从机SCI接收中断,在中断中执行数据包判断和存储,数据处理和回复在主循环进行,未使用FIFO,轮询方式进行 ...