@epilot/journey-embed-sdk

中文文档
0.5.0发布于 2026/06/10MITTypeScriptESM + CJS近 30 天下载 2832

在外部网站上嵌入电子驾驶跑道的流利构建器 SDK 支持

中文使用文档
文档目录9 节
  1. 安装
  2. 使用量
  3. Bundler (ESM / CJS) (英语)
  4. 反应(有参考文献)
  5. 通过 CDN 浏览器
  6. API 密码
  7. 快速引用
  8. 配置
  9. 许可证

@ epilot/ journey- embed- sdk

用于嵌入的流利构建器 SDK 电子驾驶 外出网站的出行. 支持单个可链式API后的两个渲染后端:

  • <iframe> ——加强风格隔离,一行多行.
  • <epilot-journey> 网络组件 ——在"阴影DOM"中使性能和无障碍性得到更好的提升.

安装

npm install @epilot/journey-embed-sdk
# or
yarn add @epilot/journey-embed-sdk
# or
pnpm add @epilot/journey-embed-sdk

使用量

Bundler (ESM / CJS) (英语)

import { Epilot } from '@epilot/journey-embed-sdk'

const $epilot = new Epilot()

$epilot
  .embed('<your-journey-id>')
  .asWebComponent()
  .mode('inline')
  .append('#embed-target')

反应(有参考文献)

安置方法append, (中文(简体) ), prepend, (中文(简体) ), before, (中文(简体) ), after)接受CSS选择器 或者说 一个直接 HTMLElement。这意味着你可以通过 ref.current 不需要给目标一个身份或阶级.

import { useEffect, useRef } from 'react'
import { Epilot, type Embedding } from '@epilot/journey-embed-sdk'

const $epilot = new Epilot()

export function JourneyEmbed({ journeyId }: { journeyId: string }) {
  const targetRef = useRef<HTMLDivElement | null>(null)
  const embeddingRef = useRef<Embedding | null>(null)

  useEffect(() => {
    if (!targetRef.current) return

    embeddingRef.current = $epilot
      .embed(journeyId)
      .asWebComponent()
      .mode('inline')
      .append(targetRef.current)

    return () => {
      embeddingRef.current?.remove()
      embeddingRef.current = null
    }
  }, [journeyId])

  return <div ref={targetRef} />
}

这个 .remove() 在清理中调用元素并撕下所有的 SDK 听器, 所以组件是安全的挂载, 卸载, 并重挂而不漏出.

通过 CDN 浏览器

同步 :

<script src="https://embed.journey.epilot.io/sdk/bundle.js"></script>
<script>
  $epilot.embed('<your-journey-id>').asWebComponent().append('#embed-target')
</script>

同步——使用 onReady 队列使您的页面可以不阻塞地加载 SDK :

<head>
  <script>
    ;(function (h, o, u, n, d) {
      h = h[d] = h[d] || {
        q: [],
        onReady: function (c) {
          h.q.push(c)
        }
      }
      d = o.createElement(u)
      d.async = 1
      d.src = n
      n = o.getElementsByTagName(u)[0]
      n.parentNode.insertBefore(d, n)
    })(
      window,
      document,
      'script',
      'https://embed.journey.epilot.io/sdk/bundle.js',
      '$epilot'
    )
  </script>
</head>
<body>
  <!-- rest of your page -->
  <script>
    window.$epilot.onReady(function (epilot) {
      epilot.embed('<your-journey-id>').asWebComponent().append('#embed-target')
    })
  </script>
</body>

API 密码

见文件全文 docs.epilot.io/docs/journeys/sdk。 。 。 .

快速引用

方法目的
.asIframe() 编号 : .asWebComponent()选后端.
.mode('inline' | 'full-screen')显示模式 。 默认为 inline。 。 。 .
.topBar(bool)显示/隐藏了Journey上行栏.
.scrollToTop(bool)在步道导航上向上滚动.
.closeButton(bool)显示/隐藏关闭按钮 .
.contextData({...})将关键/价值数据传送给旅游。 接受 string 或者说 number 值(数被强制字符串).
.dataInjectionOptions({...})预填字段和/或设置起步步.
.name(string)嵌入元素的可访问名称 .
.testId(string)设定 data-testid 测试的元素.
.id(string)设定 id 关于元素。 安置前打电话.
.isFullScreenEntered(bool)进入/退出全屏程序.
.append 编号 : .prepend 编号 : .before 编号 : .afterDOM定位——链条末端.
.el()返回被注入的元素.
.remove()删除元素并拆掉听众 .

配置

new Epilot(options?) 接受:

选项类型默认目的
baseUrlstring'https://journey.epilot.io'Journey应用软件的基础 URL.
webComponentScriptUrlstring—— 说明确覆盖 <epilot-journey> 脚本 URL. 在本地 dev 中有用 .
debugbooleanfalse启用 iframe-resizer 动词伐木.

许可证

麻省理工学院电子驾驶股份有限公司

版本与发布记录

@epilot/journey-embed-sdk 共发布 8 个版本,首次发布于 2026/04/22;过去 12 个月发布了 8 个版本。

版本发布日期距今
0.5.0latest2026/06/105 个月前
0.4.12026/06/085 个月前
0.4.02026/06/085 个月前
0.3.12026/06/025 个月前
0.3.02026/04/236 个月前
0.2.22026/04/236 个月前

关于 @epilot/journey-embed-sdk 的常见问题

@epilot/journey-embed-sdk 是什么?

在外部网站上嵌入电子驾驶跑道的流利构建器 SDK 支持

如何安装 @epilot/journey-embed-sdk?

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

@epilot/journey-embed-sdk 支持 TypeScript 吗?

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

@epilot/journey-embed-sdk 支持 ESM 还是 CommonJS?

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

@epilot/journey-embed-sdk 需要什么版本的 Node.js?

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

@epilot/journey-embed-sdk 可以商用吗?

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

@epilot/journey-embed-sdk 的下载量有多少?

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

@epilot/journey-embed-sdk 还在维护吗?

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