# @absinthe/socket-apollo-link 中文文档

规范地址：https://npmcn.com/package/%40absinthe/socket-apollo-link/

版本：0\.2\.1
npm 元数据更新时间：2022-06-12T14:15:17.807Z
中文译文更新时间：2026-11-05T19:04:03.950Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40absinthe/socket-apollo-link
原文对照：https://npmcn.com/package/%40absinthe/socket-apollo-link/?lang=original
项目主页：https://github.com/absinthe-graphql/absinthe-socket/tree/master/packages/absinthe-phoenix-socket-apollo-link#readme
源码仓库：https://github.com/absinthe-graphql/absinthe-socket

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

- 包体积（解压后）：1.3 MB，16 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：7 个
- 首次发布：2017-11-07T21:12:47.814Z
- 最新版本发布：2019-02-20T01:45:33.205Z
- 近 30 天下载量：48090（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 0 个）

## 中文简介

阿波罗连线

## 安装

```sh
npm install @absinthe/socket-apollo-link
```

也可以使用：`pnpm add @absinthe/socket-apollo-link`、`yarn add @absinthe/socket-apollo-link`、`bun add @absinthe/socket-apollo-link`

## README

# @absinthe/ socket-apollo-link (英语)

> 阿波罗连线

-   [安装](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-installation)
    -   [使用 npm](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-using-npm)
    -   [使用线条](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-using-yarn)
-   [实例](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-examples)
-   [API 密码](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-api)
    -   [创建 Absinthe SocketLink 链接](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-createabsinthesocketlink)
        -   [参数](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-parameters)
-   [参考资料](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-references)
-   [许可证](https://npmcn.com/package/%40absinthe/socket-apollo-link/#readme-license)

## 安装

### 使用 [无](https://docs.npmjs.com/cli/npm)

```
$ npm install --save @absinthe/socket-apollo-link
```

### 使用 [线条](https://yarnpkg.com/)

```
$ yarn add @absinthe/socket-apollo-link
```

## 实例

1.  创建 Absinthe SocketLink (`absinthe-socket-link.js`(中文(简体) )

```javascript
// @flow

import * as AbsintheSocket from "@absinthe/socket";
import {createAbsintheSocketLink} from "@absinthe/socket-apollo-link";
import {Socket as PhoenixSocket} from "phoenix";

export default createAbsintheSocketLink(AbsintheSocket.create(
  new PhoenixSocket("ws://localhost:4000/socket")
));
```

2.  使用 Absinthe SocketLink 发送全部操作

```javascript
// @flow

import ApolloClient from "apollo-client";
import {InMemoryCache} from "apollo-cache-inmemory";

// see example 1
import absintheSocketLink from "./absinthe-socket-link";

const client = new ApolloClient({
  link: absintheSocketLink,
  cache: new InMemoryCache()
});
```

3.  使用 Absinthe SocketLink 订阅并使用 HttpLink 发送查询和突变

```javascript
// @flow

import ApolloClient from "apollo-client";
import {createHttpLink} from "apollo-link-http";
import {hasSubscription} from "@jumpn/utils-graphql";
import {InMemoryCache} from "apollo-cache-inmemory";
import {split} from "apollo-link";

// see example 1
import absintheSocketLink from "./absinthe-socket-link";

const link = split(
  operation => hasSubscription(operation.query),
  absintheSocketLink,
  createHttpLink({uri: "/graphql"})
);

const client = new ApolloClient({
  link,
  cache: new InMemoryCache()
});
```

## API 密码

### 创建 Absinthe SocketLink 链接

创建终止的 AploLink 以请求使用给定的操作 Absinthe Socket 实例

#### 参数

-   `absintheSocket` **饮用沙袋**
-   `onError` **ElementType < 观察员 < 结果,变量 > , `"onError"`\> 翻译:**
-   `onStart` **ElementType < 观察员 < 结果,变量 > , `"onStart"`\> 翻译:**

## 参考资料

-   [喝入凤凰套餐](https://github.com/absinthe-graphql/absinthe-socket/tree/master/packages/socket)
-   **阿波罗链接**
    -   [阿波罗客户端](http://apollo-link-docs.netlify.com/docs/link/#apollo-client)
    -   [终止链接](http://apollo-link-docs.netlify.com/docs/link/overview.html#terminating)
    -   [方向构成](http://apollo-link-docs.netlify.com/docs/link/composition.html#directional)
    -   [Http 链接](http://apollo-link-docs.netlify.com/docs/link/links/http.html)

## 许可证

[麻省理工学院](https://npmcn.com/package/%40absinthe/socket-apollo-link/LICENSE.txt) :版权:Jumpn Limited.

## 常见问题

### @absinthe/socket-apollo-link 是什么？

阿波罗连线

### 如何安装 @absinthe/socket-apollo-link？

在项目目录运行 npm install @absinthe/socket-apollo-link，或使用 pnpm add / yarn add / bun add。

### @absinthe/socket-apollo-link 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/absinthe\_\_socket-apollo-link 是否存在。

### @absinthe/socket-apollo-link 支持 ESM 还是 CommonJS？

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

### @absinthe/socket-apollo-link 可以商用吗？

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

### @absinthe/socket-apollo-link 的下载量有多少？

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

### @absinthe/socket-apollo-link 还在维护吗？

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

