tencent cloud

云开发 CloudBase

初始化 SDK

PDF
聚焦模式
字号
最后更新时间: 2025-12-31 11:53:09
在创建数据模型中,自动会生成多端的操作 SDK,例如 云函数/Web 等,可以参考如下文档进行初始化和使用。

在云函数中调用

云函数中使用需在对应云函数目录下安装 @cloudbase/node-sdk 3.2.0 以上的版本。

安装依赖

在创建云函数时会在云函数目录下默认新建一个 package.json 并提示用户是否立即本地安装依赖。请注意云函数的运行环境是 Node.js,因此在本地安装依赖时务必保证已安装 Node.js,同时 nodenpm 都在环境变量中。如不本地安装依赖,可以用命令行在该目录下运行:
npm install --save @cloudbase/node-sdk@3.2

初始化和使用 SDK

在云函数中调用数据模型 SDK 之前,需要执行一次初始化方法:
const cloudbase = require("@cloudbase/node-sdk");

// 指定云开发环境 ID
const app = cloudbase.init({
env: "some-env-id",
});

exports.main = async (event, context) => {
const models = app.models;
// 接下来就可以调用 models 上的数据模型增删改查等方法了
// models.post.create({
// data: {
// body: "你好,世界\\n\\nfrom china",
// title: "你好,世界",
// slug: "hello-world-cn",
// },
// }).then(({ data } => { console.log(data)}))
};

在 Web 页面中调用

安装依赖

在 Web 项目的根目录下,使用 npm 或 yarn 安装所需的包:
npm install @cloudbase/js-sdk --save

初始化和使用 SDK

import cloudbase from "@cloudbase/js-sdk";

// 引入 SDK
const app = cloudbase.init({
env: "your-cloud-env-id", // 替换为你的云开发环境 ID
clientId: "your-cloud-env-id", // 替换为你的云开发环境 ID
});
const auth = app.auth({
persistence: "local",
});
await auth.signInAnonymously(); // 或者使用其他登录方式

const models = app.models;

// 接下来就可以调用 models 上的数据模型增删改查等方法了
// 示例:创建一个 post 数据记录
// models.post.create({
// data: {
// body: "你好,世界\\n\\nfrom china",
// title: "你好,世界",
// slug: "hello-world-cn",
// },
// }).then(({ data } => { console.log(data)}))

多端支持

@cloudbase/js-sdk 支持多端调用,若有 Web 和小程序多端开发需求,请使用 @cloudbase/js-sdk 的方式调用。

一套代码多端适配

说明:Web 和小程序无需配置
@cloudbase/js-sdk 已经内置了 Web 端和小程序端的 adapter,在这两个平台下无需配置即可使用。
如果您需要将一套代码兼容多种平台,@cloudbase/js-sdk 可以同时引入多个适配器,在运行时通过各适配器的 isMatch 函数判断平台类型,然后引入对应的兼容逻辑。例如以下代码可以同时兼容 QQ 小游戏、 Cocos 原生和百度小游戏三种平台:
import cloudbase from '@cloudbase/js-sdk';
import adapter as adapterOfQQGame from 'cloudbase-adapter-qq_game';
import adapter as adapterOfCocosNative from 'cloudbase-adapter-cocos_native';
import adapter as adapterOfBDGame from 'cloudbase-adapter-bd_game';

cloudbase.useAdapters([
adapterOfQQGame,
adapterOfCocosNative,
adapterOfBDGame
]);
说明:
在小程序使用 @cloudbase/js-sdk 时,若有减少小程序包体积的需求,可以按需引入功能模块。
// 内核
import cloudbase from "@cloudbase/js-sdk/app";
// 登录模块
import "@cloudbase/js-sdk/auth";
// 云函数模块
import "@cloudbase/js-sdk/functions";
// 云存储模块
import "@cloudbase/js-sdk/storage";
// 数据库模块
import "@cloudbase/js-sdk/database";
// 实时推送模块,引入前必须首先引入数据库模块
import "@cloudbase/js-sdk/realtime";
// 广告上报模块
import "@cloudbase/js-sdk/analytics";

const app = cloudbase.init({
env: "your-env-id",
});


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈