在现代 Web 开发中,前端技术的重要性越来越受到重视。如果你使用过 Kentico Cloud 平台来管理您网站的内容,kentico-cloud-delivery-typescript-sdk 是一个非常有用的 npm 包,可以帮助您简化开发过程,提高开发效率。
什么是 kentico-cloud-delivery-typescript-sdk?
kentico-cloud-delivery-typescript-sdk 是一个为 Kentico Cloud 开发的 JavaScript 包,它使开发者可以使用 TypeScript 快速构建具有强类型的客户端代码。
该库提供了一组强类型框架,能够获取、查询、过滤和排序 Kentico Cloud 中的内容。
如何使用 kentico-cloud-delivery-typescript-sdk?
kentico-cloud-delivery-typescript-sdk 可以使用 npm 安装和管理,安装命令如下:
npm install kentico-cloud-delivery-typescript-sdk --save
一旦安装成功,您就可以在您的项目中引用它:
-- -------------------- ---- ------- ------ - --------------- ------------ - ---- ---------------------------------------- ----- -------------- - --- ---------------- ---------- -------------------- -------------- - --- ----------------------- -- -- --- ----------- --- ---------------------- -- -- --- ---------- --- ------------------------ -- -- --- ------------ - --- -- ------ ------- ---- ----- ------------------------------- ---------------- ------ ------------------- -- - ---------------------------- ---
projectId
参数是必需的,这是您 Kentico Cloud 项目的唯一标识符。 typeResolvers
参数指定了哪些类型将映射到哪个 TypeScript 类型。
然后,您可以使用 deliveryClient
对象从 Kentico Cloud 中获取数据。
kentico-cloud-delivery-typescript-sdk 的主要特点
- 提供了一个强类型 API,使用 TypeScript 构建。
- 可以在客户端代码中使用 LINQ 类似的语法快速过滤和排序数据。
- 可以注入自定义属性选择器,以从 Kentico Cloud 获取您感兴趣的属性。
- 缓存常用部分以提高性能。
构建请求
您可以使用 deliveryClient.items()
函数来构建请求,该函数接受一个泛型类型参数,该参数指定将返回的结果映射到哪个 TypeScript 类型。
deliveryClient.items<Article>()
您还可以过滤查询结果,例如按类型、排序、过滤等。
deliveryClient.items<Article>() .type('article') .limitParameter(10) .orderParameter('system.last_modified', SortOrder.desc) .get() .subscribe(response => { console.log(response.items); });
在上例中,我们将仅检索类型为“文章”的内容项,限制结果为 10 条,按最近更新时间降序排序。
使用查询语法过滤/排序
kentico-cloud-delivery-typescript-sdk 提供了方便的查询语法,使您可以使用类似 LINQ 的语法进行过滤和排序。
deliveryClient.items<Article>() .type('article') .filterEquals('system.type', 'article') .filterEquals('elements.title.value', 'My Article') .get() .subscribe(response => { console.log(response.items); });
上面的示例使用 filterEquals
方法过滤了 system.type
和 elements.title.value
属性,保留了 article
和 My Article
的内容项。
您还可以使用其他方法进行更复杂的过滤和排序:
filterContains()
: 字符串内容中的任意部分包含给定文本filterGreaterThan()
: 数字值大于给定值filterGreaterThanOrEqual()
: 数字值大于或等于给定值filterIn()
: 字段等于值列表中的任意一个值filterLessThan()
: 数字值小于给定值filterLessThanOrEqual()
: 数字值小于或等于给定值filterNotEquals()
: 字段不等于给定值filterRange()
: 数字值在给定区间内orderByCodename()
: 按给定代码名称的字段排序orderBySystemAttribute()
: 按给定系统属性排序(例如,last_modified
等)
缓存
kentico-cloud-delivery-typescript-sdk 具有内置的缓存优化,以减少对服务器的请求次数。它可以缓存响应,请求以获得所有内容项、特定页或指定筛选器后,再次使用相同参数的请求将返回缓存的结果。
您可以通过传递 usePreviewMode
缓存错误的响应,该参数指示使用预览模式,从而使它们不受缓存的影响。
deliveryClient.items<Article>() .usePreviewMode() .get() .subscribe(response => { console.log(response.items); });
总结
kentico-cloud-delivery-typescript-sdk 是一个强大的 npm 包, 可以帮助前端开发人员更快地搭建内容管理的网站。本文演示了该 npm 包的安装和使用,并提供了详细的示例代码,希望读者可以充分利用它,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066efc4c49986ca68d89c5