内容存储的打字符内容交付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.ioEU- 用途eu-cdn.contentstack.comAU- 用途au-cdn.contentstack.comAZURE_NA- 用途azure-na-cdn.contentstack.comAZURE_EU- 用途azure-eu-cdn.contentstack.comGCP_NA- 用途gcp-na-cdn.contentstack.comGCP_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 引用 .
图像工作
我们引入了图像传送 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", 没有任何种类的恐惧, 释放或被卷入, 包括但不限制在 危机的保障, 证明一个特定的目的和无关。 任何索赔、索赔或其他负债,无论是合同、交易或其他行为,产生于、产生于或涉及软件或软件的使用或其他交易的行为,都不得作为担保.
