跳到主要内容

Node.js 快速开始

准备工作

在开始之前,请确保您已完成以下准备:

  1. 开通云开发环境开通云开发环境
  2. 获取 API 访问凭证:在 CloudBase 控制台 获取环境 ID 和 API 密钥

更多详情请参考:Node.js 完整文档

添加 CloudBase AI 开发插件

可选:如果你使用 AI 编程助手(如 Cursor、Claude Code、CodeBuddy 等)进行开发,建议先完成本步骤,让 AI 具备 CloudBase 开发能力。

复制 AI Prompt 粘贴到 AI IDE

在 AI 对话中输入:

帮我把 CloudBase 接好,按下面做:
1. 打开 https://docs.cloudbase.net/skill.md,按说明完成接入。
2. 接入完成后告诉我,并建议最相关的下一步。

查看 skill.md →

使用 Skills 开发

对 AI 说:

使用 CloudBase Skills:在 Node.js 后端服务中集成 CloudBase HTTP API,包括数据库和存储功能

Skills 使用文档 →

也可以手动安装 CloudBase Skills:

npx skills add tencentcloudbase/cloudbase-skills -y

安装 SDK

@cloudbase/node-sdk 可以让您在 Node.js 服务端使用 JavaScript/TypeScript 访问 CloudBase 服务和资源。

npm

npm i @cloudbase/node-sdk dotenv

yarn

yarn add @cloudbase/node-sdk dotenv

pnpm

pnpm add @cloudbase/node-sdk dotenv

初始化 SDK

新增如下代码到您的 Node.js 项目

./utils/cloudbase.js

const cloudbaseSDK = require("@cloudbase/node-sdk");
require("dotenv").config();

const cloudbase = cloudbaseSDK.init({
env: process.env.CLOUDBASE_ENV_ID,
secretId: process.env.CLOUDBASE_SECRETID,
secretKey: process.env.CLOUDBASE_SECRETKEY
});

module.exports = { cloudbase };

.env

信息

请前往 腾讯云控制台/API密钥管理 生成API密钥

腾讯云控制台/API密钥管理

# 环境ID
CLOUDBASE_ENV_ID={%ENV_ID%}

# 腾讯云API密钥ID
CLOUDBASE_SECRET_ID={%SECRET_ID%}

# 腾讯云API密钥Key
CLOUDBASE_SECRET_KEY={%SECRET_KEY%}

文档型数据库

const { cloudbase } = require("./utils/cloudbase");

async function getData() {
// 查询 {%TABLE_NAME%} 表前10条数据
const db = cloudbase.database();
const res = await db.collection("{%TABLE_NAME%}").limit(10).get();

console.log("查询成功:", res.data);
return res.data;
}

getData();

云存储

const { cloudbase } = require("./utils/cloudbase");
const fs = require("fs");

async function uploadFile() {
const filePath = "./example.png"; // 本地文件路径
const cloudPath = `images/${Date.now()}-example.png`; // 上传至云端的路径

const res = await cloudbase.uploadFile({
cloudPath: cloudPath,
fileContent: fs.createReadStream(filePath)
});

console.log("上传成功:", res.fileID);
return res.fileID;
}

uploadFile();

云函数

const { cloudbase } = require("./utils/cloudbase");

async function callFunction() {
// 调用 {%FUNCTION_NAME%} 云函数
const res = await cloudbase.callFunction({
name: "{%FUNCTION_NAME%}",
data: {}
});

console.log("云函数返回:", res.result);
return res.result;
}

callFunction();

大模型

const { cloudbase } = require("./utils/cloudbase");

async function callAIModel(input) {
const ai = cloudbase.ai();
// 使用自定义模型请修改为对应的模型提供商标识符
const model = ai.createModel("{%AI_MODEL_NAME%}");

try {
const res = await model.streamText({
model: "{%AI_SUB_MODEL_NAME%}",
messages: [
{
role: "system",
content:
"请严格按照七言绝句或七言律诗的格律要求创作,平仄需符合规则,押韵要和谐自然,韵脚字需在同一韵部。"
},
{ role: "user", content: input }
]
});

let response = "";
for await (let str of res.textStream) {
process.stdout.write(str);
response += str;
}
return response;
} catch (err) {
console.error("error:", err);
return null;
}
}

// 调用示例
callAIModel("春天");