# @fern-api/sdk 中文文档

规范地址：https://npmcn.com/package/%40fern-api/sdk/

版本：0\.13\.0
npm 元数据更新时间：2026-09-16T15:14:43.942Z
中文译文更新时间：2026-11-14T14:48:15.032Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40fern-api/sdk
原文对照：https://npmcn.com/package/%40fern-api/sdk/?lang=original
项目主页：https://github.com/fern-api/typescript-sdk#readme
源码仓库：https://github.com/fern-api/typescript-sdk

弃用说明：Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

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

- 包体积（解压后）：378 kB，557 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：7 个
- 首次发布：2024-05-24T12:17:55.629Z
- 最新版本发布：2024-10-17T18:42:59.118Z
- 近 30 天下载量：3033（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 0 个）

## 中文简介

[![npm shield](https://img.shields.io/npm/v/@fern-api/sdk)](https://www.npmjs.com/package/@fern-api/sdk) [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-SDK%20generated%20by%20Fern-brightgreen)](https://github.com/fern-api/fern)

## 安装

```sh
npm install @fern-api/sdk
```

也可以使用：`pnpm add @fern-api/sdk`、`yarn add @fern-api/sdk`、`bun add @fern-api/sdk`

## README

# 费尔恩打字库

[![npm shield](https://img.shields.io/npm/v/@fern-api/sdk)](https://www.npmjs.com/package/@fern-api/sdk) [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-SDK%20generated%20by%20Fern-brightgreen)](https://github.com/fern-api/fern)

Fern Typescript 库提供从 JavaScript / TypeScript 访问 Fern的公开 API , 以及您选择的 JavaScript 运行时间( ) [节点,浏览器, Deno, Bun 等](https://npmcn.com/package/%40fern-api/sdk/#readme-runtime-compatiblity)) (中文(简体) ).

## 文档

API 备有参考文件 [这里](https://buildwithfern.com/learn/api/api-reference/docs/generate)。 。 。 .

这个SDK主要用来进入Fern's **动态片段** API (英语). Fern的动态片段API的用意是允许用户为其带有动态有效载荷的Fern-generate SDK创建代码片段.

常用案例包括:

1.  应用代码示例
2.  文档中针对用户的代码示例
3.  这么多!

  

显著特征 :

1.  [客户端执行](https://npmcn.com/package/%40fern-api/sdk/#readme-client-side-execution),对于经常变化的代码实例来说,理想,可能是因为用户输入浏览器.
2.  [动态代码示例](https://npmcn.com/package/%40fern-api/sdk/#readme-dynamic-code-examples)
3.  [显示默认和自动生成的例子](https://npmcn.com/package/%40fern-api/sdk/#readme-default-or-static-code-examples)

## 安装

```
npm install --save @fern-api/sdk

# or

yarn add @fern-api/sdk
```

## 使用量

### 客户端执行

```typescript
import { FernClient } from "@fern-api/sdk";

const fern = new FernClient({
    token: "YOUR_API_KEY",
});

// Get the snippet template from the Fern API
const template = await fern.templates.get({
  endpoint: {
    method: "POST",
    path: "/api/users/search/{someFilter}",
  },
});

// Build a snippet with a payload, this happens on the client side,
// without need for another API call, improving latency dramatically.
const snippet1 = await template.resolve({
    pathParameters: [{
      name: "someFilter",
      value: "test1"
    }]
    requestBody: {
      name: "Joey",
    }
  })

// You can build as many snippets as you'd like!
const snippet2 = await template.resolve({
  pathParameters: [{
    name: "someFilter",
    value: "anotherTest"
  }]
  requestBody: {
    name: "Samantha",
  }
})
```

### 动态代码示例

```typescript
import { FernClient } from "@fern-api/sdk";

const fern = new FernClient({
    token: "YOUR_API_KEY",
});

const snippets = await fern.snippets.get({
  endpoint: {
    method: "POST",
    path: "/api/users/search/{someFilter}",
  },
  // The payload parameter allows you to pass in the same data you would to the API,
  // the only distinction is that the payload is structure to distinguish path and query parameters,
  // headers and request bodies.
  payload: {
    pathParameters: [{
      name: "someFilter",
      value: "test1"
    }]
    requestBody: {
      name: "Joey",
    }
  }
});
```

### 默认或静态代码示例

```typescript
import { FernClient } from "@fern-api/sdk";

const fern = new FernClient({
    token: "YOUR_API_KEY",
});

// Without any payload specified, the SDK returns a snippet with the examples provided within your API spec
// If there are no examples in your spec, a basic example is autogenerated for you.
const snippets = await fern.snippets.get({
    endpoint: {
        method: "GET",
        path: "/api/users",
    },
    // The name of your organization, found in your `fern.config.json`
    orgId: "my_organization",
    // The name of the API you'd like to generate snippets for,
    apiId: "api",
    sdks: [{ type: "python", package: "my_package", version: "0.0.3" }],
});
```

### 处理出错

API 返回非成功状态代码( 4xx 或 5xx 回复) 时, 子类 [费尔恩厄尔](https://npmcn.com/package/%40fern-api/sdk/src/errors/FernError.ts) 将扔出 :

```ts
import { FernError } from "@fern-api/sdk";

try {
  await fern.snippets.get(...);
} catch (err) {
  if (err instanceof FernError) {
    console.log(err.statusCode);
    console.log(err.message);
    console.log(err.body);
  }
}
```

### 请求选项

HTTP 客户端接受一个 `RequestOptions` 分类 定制超时.

```typescript
const snippets = await fern.snippets.get(
    {
        endpoint: {
            method: "GET",
            path: "/api/users",
        },
    },
    {
        timeoutInSeconds: 60, // increase timeout in second
    }
);
```

### 运行时间兼容性

SDK 默认为 `node-fetch` 但是如果存在, 将会使用全局获取客户端 。 SDK这个 工作时间如下:

支持以下运行时间:

-   节点.js 15+
-   维塞尔
-   云花岗工人
-   德诺v1.25+
-   1.0+号舱

## Beta 状态

这个SDK是在β中,在版本之间可能会有断裂的更改,而没有主要的版本更新. 因此,我们 建议将软件包版本刻入您的软件包.json文件中的特定版本。 这样,你可以安装 除非您有意寻找最新版本,否则每次不中断更改.

## 捐款

虽然我们重视对SDK的开源贡献,但这个库是程序生成的. 直接加进这个图书馆 就得转到我们这代的密码上 否则 他们将被覆盖 在下一个生成的释放。 随便开个公关作为概念的证明, 但要知道,我们无法把它合并起来。 我们建议先讨论一个问题!

另一方面,对 " README " 的贡献总是非常受欢迎的!

  
![drawing](https://npmcn.com/package/%40fern-api/sdk/assets/footer.svg)

## 常见问题

### 如何安装 @fern-api/sdk？

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

### @fern-api/sdk 支持 TypeScript 吗？

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

### @fern-api/sdk 支持 ESM 还是 CommonJS？

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

### @fern-api/sdk 可以商用吗？

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

### @fern-api/sdk 的下载量有多少？

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

### @fern-api/sdk 还在维护吗？

最新版本 0\.13\.0 发布于 2024/10/18（2 年前）；至今共发布 19 个版本，其中过去 12 个月发布了 0 个；首次发布于 2024/05/24。作者已将其标记为弃用，新项目建议寻找替代方案。

