@adobe/aem-headless-client-js

中文文档
4.0.0发布于 2024/07/11Apache-2.0CommonJS近 30 天下载 3.6万

AEM 无头 SDK 客户端

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 创建无头客户端
  4. 使用无头客户端
  5. 授权
  6. API 参考
  7. 捐款
  8. 许可证发放

Version Downloads/week Build Status License

JavaScript 的 AEM 无头客户端

见 无头客户-贾瓦 用于此客户端的 Java 变体 财务报告和审定财务报表 无头客户-节点 用于服务器侧节点.js变体.

安装

$ npm install @adobe/aem-headless-client-js

使用量

创建无头客户端

const AEMHeadless = require('@adobe/aem-headless-client-js');

用主机和 Auth 数据配置 SDK (如果需要)

const aemHeadlessClient = new AEMHeadless({
    serviceURL: '<aem_host>',
    endpoint: '<graphql_endpoint>',
    auth: '<aem_token>' || ['<aem_user>', '<aem_pass>'],
    headers: {'<headername>': '<headervalue>', ...}
})
// Eg:
const aemHeadlessClient = new AEMHeadless({
    serviceURL: AEM_HOST_URI,
    endpoint: 'content/graphql/endpoint.gql',
    auth: [AEM_USER, AEM_PASS],
    headers: {'customerheadername': 'customerheadervalue'}
})

使用无头客户端

承诺语法 :

aemHeadlessClient.runQuery(queryString)
  .then(data => console.log(data))
  .catch(e => console.error(e.toJSON()))

aemHeadlessClient.listPersistedQueries()
   .then(data => console.log(data))
   .catch(e => console.error(e.toJSON()))

aemHeadlessClient.persistQuery(queryString, 'wknd/persist-query-name')
   .then(data => console.log(data))
   .catch(e => console.error(e.toJSON()))

aemHeadlessClient.runPersistedQuery('wknd/persist-query-name')
   .then(data => console.log(data))
   .catch(e => console.error(e.toJSON()))

aemHeadlessClient.runPersistedQuery('wknd/persist-query-name-with-variables', { name: 'John Doe'})
    .then(data => console.log(data))
    .catch(e => console.error(e.toJSON()))

在同步/等待中:

(async () => {
    let postData
    try {
        postData = await aemHeadlessClient.runQuery(queryString)
    } catch (e) {
        console.error(e.toJSON())
    }
    
    let list
    try {
        list = await aemHeadlessClient.listPersistedQueries()
    } catch (e) {
        console.error(e.toJSON())
    }

    try {
        await aemHeadlessClient.persistQuery(queryString, 'wknd/persist-query-name')
    } catch (e) {
        console.error(e.toJSON())
    }
    
    let getData
    try {
        getData = await aemHeadlessClient.runPersistedQuery('wknd/persist-query-name')
    } catch (e) {
        console.error(e.toJSON())
    }
})()    

铺设 :

(async () => {
    const model = 'article'
    const fields = `{
        title
        _path
        authorFragment {
          firstName
          profilePicture {
            ...on ImageRef {
              _authorUrl
            }
          }
        }
      }`
    
    // Loop all pages (default Cursor based)
    const cursorQueryAll = await aemHeadlessClient.runPaginatedQuery(model, fields, { pageSize: 3 })
    for await (let value of cursorQueryAll) {
        console.log('cursorQueryAll', value)
    }
    // Manually get next page (default pageSize = 10)
    const cursorQuery = await aemHeadlessClient.runPaginatedQuery(model, fields)
    while (true) {
        const { done, value } = await cursorQuery.next();
        if (done) break
        console.log('cursorQuery', value)
    }
})()

授权

若为 auth param是一个字符串,它被当作是"熊"的代号

若为 auth param 是一个数组,预期数据为 ['user','pass'] 对等,并将使用 Basic Authority

若为 auth 未定义, 授权信头将不会设置

API 参考

见生成 API 参考

捐款

欢迎捐款! 读取 贡献指南 更多信息.

许可证发放

这个项目根据Apache V2许可证获得许可. 见 自由主义 更多信息.

版本与发布记录

@adobe/aem-headless-client-js 共发布 14 个版本,首次发布于 2021/04/18;过去 12 个月发布了 0 个版本。

版本发布日期距今
4.0.0latest2024/07/112 年前
3.4.12024/07/102 年前
3.3.32023/09/183 年前
3.3.22023/09/083 年前
3.3.12023/06/133 年前
3.3.02023/03/283 年前

关于 @adobe/aem-headless-client-js 的常见问题

@adobe/aem-headless-client-js 是什么?

AEM 无头 SDK 客户端

如何安装 @adobe/aem-headless-client-js?

在项目目录运行 npm install @adobe/aem-headless-client-js,或使用 pnpm add / yarn add / bun add。

@adobe/aem-headless-client-js 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/adobe__aem-headless-client-js 是否存在。

@adobe/aem-headless-client-js 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@adobe/aem-headless-client-js 需要什么版本的 Node.js?

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

@adobe/aem-headless-client-js 可以商用吗?

@adobe/aem-headless-client-js 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@adobe/aem-headless-client-js 的下载量有多少?

根据 npm 官方下载统计,@adobe/aem-headless-client-js 在 2026/10/05 – 2026/11/03 这 30 天内被下载 35,870 次,日均约 1,196 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adobe/aem-headless-client-js 还在维护吗?

最新版本 4.0.0 发布于 2024/07/11(2 年前);至今共发布 14 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/04/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。