# @bablic-io/sdk-core 中文文档

规范地址：https://npmcn.com/package/%40bablic-io/sdk-core/

版本：1\.4\.0
npm 元数据更新时间：2026-11-05T18:31:15.053Z
中文译文更新时间：2026-11-07T23:40:25.092Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bablic-io/sdk-core
原文对照：https://npmcn.com/package/%40bablic-io/sdk-core/?lang=original
项目主页：https://www.bablic.com/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：515 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-10-13T17:54:59.873Z
- 最新版本发布：2026-11-05T18:31:14.476Z
- 近 30 天下载量：2018（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 13 个）

## 中文简介

Bablic服务器侧渲染背后的引擎:用您的 Bablic 项目翻译服务器上的页面.

## 安装

```sh
npm install @bablic-io/sdk-core
```

也可以使用：`pnpm add @bablic-io/sdk-core`、`yarn add @bablic-io/sdk-core`、`bun add @bablic-io/sdk-core`

## README

# @bablic-io/ sdk- core (英语)

服务器侧渲染的引擎 [婴儿](https://www.bablic.com/)。它用您的 Bablic 项目的翻译翻译在服务器上翻译一页,并以访问者的语言返回完成的 HTML .

你需要一个Bablic账户和项目。 新到巴贝利克? [报名](https://dashboard.bablic.com/)。 。 。 .

**大多数网站需要适配器 :**

-   下一部 Vercel 上的Js: [`@bablic-io/sdk-vercel`](https://www.npmjs.com/package/@bablic-io/sdk-vercel)
-   阿斯特罗: [`@bablic-io/sdk-astro`](https://www.npmjs.com/package/@bablic-io/sdk-astro)

直接使用此软件包支持另一个主机 。 要求节点.js 22.

## 安装

```sh
npm install @bablic-io/sdk-core
```

## 翻译一页

```ts
import { MemoryCache, translateDocument } from '@bablic-io/sdk-core';

const cache = new MemoryCache();

const result = await translateDocument({
  html, // original-language HTML, including the Bablic script tag
  url: 'https://example.com/fr-fr/pricing', // the translated URL being served (example)
  cache,
});

if (result.status === 'complete') {
  // result.html: translated page
  // result.textMap: original → translated strings, for framework data
  // result.links: your project's link rules and the links that changed
} else {
  // 'skipped': not translated on the server (plan without server-side rendering, or the
  // project doesn't translate this page); serve the original.
  // 'failed': never serve or cache the result; see result.reason.
}
```

`translateDocument` 从页面的 Bablic 脚本标签读取您的工程,翻译服务器上的页面,并等待翻译完成.

## 为主机服务 : `createPageHandler`

请求流出适配器共享:路由,从同站取出原始页面,翻译,缓存,编辑绕行和失败规则.

```ts
import { createPageHandler, MemoryCache } from '@bablic-io/sdk-core';

const pages = createPageHandler({ project: 'P0000', cache: new MemoryCache() });

// In your request handler:
const response = await pages.handle(request); // undefined: not a translated URL
```

一个已经获取了原始页面的代理将它传递过来,然后得到对每个请求的答复:

```ts
const response = await pages.translateHtml({ request, html, status, headers });
```

路由、缓存、编辑器绕行和失败规则相同 `handle`; 原作从此不再被取出, 甚至对背景刷新也一样 。 未翻译的 URL , 或在服务器上已经翻译过的一页( U)`x-moxie` 页眉,或 `<html data-moxie-mode="ssr">`),回来时没有改变 `x-moxie: pass` 还有原因.

对于一个没有翻译的URL, `await pages.explain(request)` 说明为何(例如,项目有哪一种语言文件夹) `x-moxie-reason` 标题或日志行.

`project` 您的 Bablic 项目密钥 。 翻译的URL来自您的 Bablic 仪表板设置(语言文件夹或子域); `projectResolver` 财务报告和审定财务报表 `routeFromConfig` 单枪匹马就暴露出路线.

选项匹配适配器( E)`project`, (中文(简体) ), `resolve`, (中文(简体) ), `pageTtl`, (中文(简体) ), `timeoutMs`, (中文(简体) ), `cache`, (中文(简体) ), `moxie`, (中文(简体) ), `editorCookie`, (中文(简体) ), `onResult`, (中文(简体) ), `onUnsupported`, (中文(简体) ), `host`, (中文(简体) ), `fetch`),加上主机钩: `buildId`, (中文(简体) ), `sourceHeaders`, (中文(简体) ), `ignoreParams`, (中文(简体) ), `dropRequestHeaders`, (中文(简体) ), `transformHtml` 财务报告和审定财务报表 `absoluteRedirects`见 [`@bablic-io/sdk-vercel` 读取](https://www.npmjs.com/package/@bablic-io/sdk-vercel) 用于行为,响应头和托管规则.

## 其他出口

-   `CacheStore`: 缓存接口 (`get`, (中文(简体) ), `set` 与 `ttl` 财务报告和审定财务报表 `tags`, (中文(简体) ), `expireTag`) (中文(简体) ). `MemoryCache` 执行它.
-   `createRevalidateHandler({ secret, cache })`: 已签名的清理端点, 清除已缓存的页面, 或缓存的工程配置 `{"config": true}`。 。 。 .
-   `rewriteHref(href, rules)`, (中文(简体) ), `localizeHref(href, links)`: 将您的工程链接规则应用到 URL, 如 Bablic 在页面中所做的那样 .
-   `projectResolver({ project, cache })`, (中文(简体) ), `routeFromConfig(config, url)`: 您的项目翻译了 URL .
-   `isCrawler(userAgent)`, (中文(简体) ), `isStagingUrl(url)`。 。 。 .

## 链接

-   [婴儿](https://www.bablic.com/)
-   [注册或登录](https://dashboard.bablic.com/)

## 许可证

麻省理工学院

## 常见问题

### @bablic-io/sdk-core 是什么？

Bablic服务器侧渲染背后的引擎:用您的 Bablic 项目翻译服务器上的页面\.

### 如何安装 @bablic-io/sdk-core？

在项目目录运行 npm install @bablic-io/sdk-core，或使用 pnpm add / yarn add / bun add。

### @bablic-io/sdk-core 支持 TypeScript 吗？

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

### @bablic-io/sdk-core 支持 ESM 还是 CommonJS？

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

### @bablic-io/sdk-core 可以商用吗？

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

### @bablic-io/sdk-core 的下载量有多少？

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

### @bablic-io/sdk-core 还在维护吗？

最新版本 1\.4\.0 发布于 2026/11/06（2 天前）；至今共发布 13 个版本，其中过去 12 个月发布了 13 个；首次发布于 2026/10/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

