使用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章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...
- 微信小程序云开发不完全指北
微信小程序云开发不完全指北 首先必须说明云开发的"云"并不是类似云玩家里的云的意思,而是微信小程序真的提供了云开发的接口以及一个简单的提供存储.数据库服务的虚拟后台(对于一些轻量小 ...
随机推荐
- uni-app如何只用插件市场中的插件
将你需要的插件下载下来.比如说如下图 在pages.json配置 globalStyle是一个单独的字段 "globalStyle": { "usingComponent ...
- uni-app封装input组件用于登录
组件 <template> <view> <view class="uni-form-item uni-column"> <input c ...
- 从理房间到移动零:一道考察数组操作的经典题目|LeetCode 283 移动零
LeetCode 283 移动零 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 你有没有整理过房间?常常会发现一些要丢掉的东西,但又不想立刻处 ...
- Vmware共享文件夹安装设置方法(window与Linux使用共享文件夹)
Vmware共享文件夹安装设置方法 注意:如果按照了工具,设置了共享文件夹,Linux下面还是没有的话,可以运行下面的命令,就会加载共享文件夹了 vmhgfs-fuse .host:/ /mnt/hg ...
- 2.vue3修改端口号
根目录新建vue.vonfig.js module.exports = { devServer: { port: 8081, // 端口 }, lintOnSave: false // 取消 esli ...
- Hetao P1031 萌萌题 题解 [ 蓝 ] [ 线性 dp ]
萌萌题:一道结合了观察性质的线性 dp. 观察 我们先考虑极端情况:所有数相同,所有数降序排列两种情况. 对于所有数相同的情况,我们发现,最终可以合并出来的区间,最多只有 \(n \log n\) 个 ...
- kubesphere应用系列(一)部署NET8API
一.准备工作 1.kubesphere 2.harbor 3.net8 二.创建API应用 1.创建api应用 1.1使用命令创建应用 dotnet new webapi -n YourApiAppN ...
- DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
2025年伊始,Meta创始人扎克伯格的一则声明引发全球程序员热议:"AI将在今年达到中级工程师水平,逐步接管编程工作."与此同时,国产AI大模型DeepSeek的爆火,让一名8岁 ...
- window本地部署deepseek
window本地部署deepseek 学习自[[教程]DeepSeek本地免费部署教程,丝滑不卡顿!带你解锁隐藏功能!]https://www.bilibili.com/video/BV1viFaeB ...
- 高效开发助手:深入了解Hutool工具库
一.关于Hutool 1.1 简介 Hutool是一个功能丰富且易用的Java工具库,通过诸多实用工具类的使用,旨在帮助开发者快速.便捷地完成各类开发任务. 这些封装的工具涵盖了字符串.数字.集合. ...