@contentstack/delivery-sdk

中文文档
5.6.2发布于 2026/11/02MITTypeScriptESM + CJS构建来源已验证近 30 天下载 14.9万

Contentstack □ 目录内容交付SDK

中文使用文档
文档目录12 节
  1. 内容存储的打字符内容交付SDK
  2. 先决条件
  3. 设置和安装
  4. 使用 Contack 的关键概念
  5. 内容夹打字机 SDK
  6. 高级查询
  7. 图像工作
  8. 倾斜
  9. 缓存
  10. 发展
  11. 帮助链接
  12. 《麻省理工学院许可证》

Contentstack

内容存储的打字符内容交付SDK

内容tack是一种无头的CMS,采用API-First方法. 这是一个CMS,开发者可以用来用他们最喜爱的语言来构建强大的跨平台应用程序. 构建您的应用程序前端, 而Contack 将照顾其余的 . 更多信息。 。 。 .

内容tack提供Typescript SDK来构建Typescript上方的应用程序. 下面是详细的指南和有用的资源 开始我们的SDK字体.

Typescript SDK也可以用于创建Node.js和React本土应用程序.

先决条件

要使用Contentack TypeScript SDK,需要Node.js版本18或后期安装.

设置和安装

Node.js使用Typescript SDK来创建应用程序. 要使用 Typescript SDK, 请通过 npm 安装它 :

npm i @contentstack/delivery-sdk

要在您的工程中导入 SDK, 请使用以下命令 :

import contentstack from '@contentstack/delivery-sdk'

要初始化 SDK, 您需要指定您的堆栈的 API 密钥、 交付托肯 和环境名称 .

    import contentstack from '@contentstack/delivery-sdk'
    const stack = contentstack.stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });

使用 Contack 的关键概念

堆栈

堆栈就像一个容器 保存您的应用程序的内容。 学习更多关于 堆栈。 。 。 .

内容类型

内容类型允许您定义页面或您数字属性的一节的结构或蓝图。 这是一个类似窗体的页面,为内容管理员提供输入和上传内容的界面. 更多信息。 。 。 .

条目

条目是使用定义的内容类型之一创建的实际内容块. 学习更多关于 条目。 。 。 .

资产

资产指所有媒体文件(图像,视频,PDF,音频文件等)上传到Contaltack. 这些文件可用于多个条目. 更多信息 资产。 。 。 .

环境

出版环境对应一个或多个部署服务器,或需要发布条目的内容发送目的地. 学会如何工作 环境。 。 。 .

内容夹打字机 SDK

初始化您的 SDK

您需要指定您的堆栈的 API 密钥、 交付托肯 和环境名称来初始化 SDK :

    const stack = contentstack.stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });

SDK初始化后,可以开始在应用中获取内容.

区域和主机配置

SDK支持区域和自定义主机配置,以连接到不同的Contentack数据中心或自定义端点.

地区支助

您可以指定一个区域来连接到相应的Contack数据中心. 现有区域有:

  • US (默认) - 用途 cdn.contentstack.io
  • EU - 用途 eu-cdn.contentstack.com
  • AU - 用途 au-cdn.contentstack.com
  • AZURE_NA - 用途 azure-na-cdn.contentstack.com
  • AZURE_EU - 用途 azure-eu-cdn.contentstack.com
  • GCP_NA - 用途 gcp-na-cdn.contentstack.com
  • GCP_EU - 用途 gcp-eu-cdn.contentstack.com
import contentstack, { Region } from '@contentstack/delivery-sdk'

// Using region enum
const stack = contentstack.stack({
  apiKey: "apiKey",
  deliveryToken: "deliveryToken",
  environment: "environment",
  region: Region.EU
});

// Using region string
const stack = contentstack.stack({
  apiKey: "apiKey",
  deliveryToken: "deliveryToken",
  environment: "environment",
  region: "eu"
});

自定义主机支持

您可以指定一个自定义主机连接到自定义端点 。 如果提供自定义主机,则优先于基于区域的主机.

const stack = contentstack.stack({
  apiKey: "apiKey",
  deliveryToken: "deliveryToken",
  environment: "environment",
  host: "custom-cdn.example.com"
});

// Custom host with region (host takes priority)
const stack = contentstack.stack({
  apiKey: "apiKey",
  deliveryToken: "deliveryToken",
  environment: "environment",
  region: Region.EU,
  host: "custom-cdn.example.com"
});

从您的堆栈查询内容

要获得单个条目,需要指定条目的内容类型和ID.

import { BaseEntry } from '@contentstack/delivery-sdk'
interface BlogPostEntry extends BaseEntry {
  // custom entry types
}
const result = await stack
                      .contentType(contentType_uid)
                      .entry(entry_uid)
                      .fetch<BlogPostEntry>();

要检索内容类型的多个条目,需要指定内容类型uid. 也可以指定搜索参数来过滤结果.

import { BaseEntry, FindEntry } from '@contentstack/delivery-sdk'
interface BlogPostEntry extends BaseEntry {
  // custom entry types
}
const result = await stack.contentType("contentType1Uid").entry()
                    .query()
                    .find<BlogPostEntry>()

高级查询

您可以查询内容类型、 条目、 资产, 并使用我们的 Typescript API 引用 .

Typescription API 参考文件

图像工作

我们引入了图像传送 API , 允许您获取图像, 然后为您的数字属性操纵和优化图像 。 它允许您执行一系列其他动作,例如收成,修剪,调整大小,旋转,重叠等.

例如,如果想要裁剪一个图像(宽度为300,高为400),则只需要在图像 URL 的末尾附加查询参数,例如, https://images.contentstack.io/owl.jpg?crop=300 (英语)400块。 还有几种参数可供您用于您的图像.

读取图像传送 API 文档。 。 。 .

下面是图像传送 API 示例 .

const url = 'www.example.com';
const transformObj = new imageTransform().bgColor('cccccc');
const transformURL = url.transform(transformObj);

倾斜

如果初始同步(或后继同步)的结果包含超过100个记录,则响应会被相接. 它在回应中提供了发号施令符. 您需要使用此标志来获取下一批数据 .

const query = stack.contentType("contentTypeUid").entry().query();
const pagedResult = await query
                            .paginate()
                            .find<BlogPostEntry>(); 
// OR
const pagedResult = await query
                            .paginate({ skip: 20, limit: 20 })
                            .find<BlogPostEntry>();

缓存

使用缓存策略( E)CACHE_THEN_NETWORK, (中文(简体) ), CACHE_ELSE_NETWORK, (中文(简体) ), NETWORK_ELSE_CACHE),您必须通过 cacheOptions.persistenceStore。安装可选的持久性插件,并通过一个 PersistenceStore 实例:

npm install @contentstack/persistence-plugin
import contentstack, { Policy } from '@contentstack/delivery-sdk';
import { PersistenceStore } from '@contentstack/persistence-plugin';

const stack = contentstack.stack({
  apiKey: 'your-api-key',
  deliveryToken: 'your-delivery-token',
  environment: 'your-environment',
  cacheOptions: {
    policy: Policy.CACHE_THEN_NETWORK,
    persistenceStore: new PersistenceStore({ storeType: 'localStorage', maxAge: 86400000 }),
  },
});

见 @ contentstack/ 持久性插件 选项storeType, (中文(简体) ), maxAge,自定义存储).

发展

提供或运行寄存器的测试时, 运行 npm run build 在测试之前。 已发布的软件包包括一个预建 dist/ 目录.

《麻省理工学院许可证》

版权:"2012-2026" 目录保留的所有权利d

特此准许任何人免费获得本软件和相关文件文件("软件")的副本,不受限制地在软件中进行交易,包括不受限制地享有软件的使用、复制、修改、合并、出版、分发、分版和(或)销售的权利,并允许软件获得者这样做,但须符合下列条件: 1

上述版权通知和许可通知应载入软件的所有副本或大部分.

软件是提供的"AS IS", 没有任何种类的恐惧, 释放或被卷入, 包括但不限制在 危机的保障, 证明一个特定的目的和无关。 任何索赔、索赔或其他负债,无论是合同、交易或其他行为,产生于、产生于或涉及软件或软件的使用或其他交易的行为,都不得作为担保.

版本与发布记录

@contentstack/delivery-sdk 共发布 57 个版本,首次发布于 2024/01/25;过去 12 个月发布了 24 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.6.2latest2026/11/028 天前
5.6.12026/10/061 个月前
5.6.02026/08/122 个月前
5.5.22026/08/053 个月前
5.5.12026/08/033 个月前
5.5.02026/07/293 个月前

其他发布通道:beta → 4.0.0-beta.6。

关于 @contentstack/delivery-sdk 的常见问题

@contentstack/delivery-sdk 是什么?

□ 目录内容交付SDK

如何安装 @contentstack/delivery-sdk?

在项目目录运行 npm install @contentstack/delivery-sdk,或使用 pnpm add / yarn add / bun add。

@contentstack/delivery-sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@contentstack/delivery-sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@contentstack/delivery-sdk 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@contentstack/delivery-sdk 可以商用吗?

@contentstack/delivery-sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@contentstack/delivery-sdk 的下载量有多少?

根据 npm 官方下载统计,@contentstack/delivery-sdk 在 2026/10/11 – 2026/11/09 这 30 天内被下载 149,120 次,日均约 4,971 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@contentstack/delivery-sdk 还在维护吗?

最新版本 5.6.2 发布于 2026/11/02(8 天前);至今共发布 57 个版本,其中过去 12 个月发布了 24 个;首次发布于 2024/01/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。