# @codecademy/workshop-client 中文文档

规范地址：https://npmcn.com/package/%40codecademy/workshop-client/

版本：0\.24\.0
npm 元数据更新时间：2026-11-04T21:39:04.959Z
中文译文更新时间：2026-11-10T06:38:21.984Z
软件包许可：ISC

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

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

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

- 包体积（解压后）：160 kB，66 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- peer 依赖：@opentelemetry/api ^1\.0\.0
- 首次发布：2016-03-24T16:51:12.840Z
- 最新版本发布：2026-11-04T21:39:04.802Z
- 近 30 天下载量：2782（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：105（近 12 个月 4 个）

## 中文简介

螺旋桨后端客户端

## 安装

```sh
npm install @codecademy/workshop-client
```

也可以使用：`pnpm add @codecademy/workshop-client`、`yarn add @codecademy/workshop-client`、`bun add @codecademy/workshop-client`

## README

# JavaScript 客户端库

讲习班客户图书馆安装在Colocummy网络客户端中,使这些客户能够使用代码执行服务(_推进器_,以前称为 _讲习班_) (中文(简体) ). Propeller管理一个持久的websocket连接,允许客户端同步用户代码,在各种服务器环境中执行该代码,运行终端命令,并进行其他代码/工作空间管理和执行行动.

## 本地测试更改

1.  看看这回转和科德米回转
2.  运行 `yarn build` 在讲习班-客户目录中
3.  运行 `yarn link` 在讲习班-客户目录中
4.  在那个 [单相](https://github.com/codecademy-engineering/mono)运行 `yarn link @codecademy/workshop-client`
5.  运行( 或重运行) `yarn nx start learning-environment` 单曲
6.  校验您能否连接到本地分支中的 LE 。 如果你继续改变客户端, 你需要重新 -`yarn build` 并重新启动 LE 应用程序.

## 开始会话

要启动一个会话, 创建客户端实例并连接到工作坊 .

```js
import WorkshopSession from '@codecademy/workshop-client';

let session = new WorkshopSession({
  protocol: 'https',
  apiBase: 'effective-lamp.cc-propeller.cloud',
  workspaceSlug: 'my-workspace',
  jwt: 'my.user.jwt',
});

session
  .initialize()
  .then(() => {
    // Ready to use
  })
  .catch(error => {
    // Something went wrong
  });
```

## 追踪

客户端与 OpenTeleometry 跟踪工作, 需要 `@opentelemetry/api` 1. 安装在旁边。 呼叫集装箱 API 时, 随时加入 `initialize()` 或者说 `delete()`数字 :

-   对集装箱API的每项请求都是在这个范围内提出的。 应用程序的取出仪器 然后记录为孩子的跨度并发送 `traceparent`,所以集装箱API的跨度 加入同样的跟踪.
-   握个手 `traceparent` 财务报告和审定财务报表 `tracestate` 作为查询参数,因为浏览器无法在 WebSocket 握手上设置标题. 只有握手的时候 `initialize()` 等待套接字打开后携带它们。 之后的重新连接 开始自己的痕迹.

客户端在呼叫开始时会保存上下文. 在浏览器中, OpenTeleometry 以 zone.js 跟踪活动跨度, 在第一个本地端丢失它 `await`,所以在呼叫中稍后发出的请求,否则会开始自己的痕迹. 由于没有设置追踪, 请求和套接字 URL 不变 .

## 发布软件包

此软件包在版本编号更改时自动发布

-   将您的 PR 合并为主
-   创建一个新的 PR 来更新 package.json 中的软件包版本. 以本版本中将添加的所有更改为基础.
-   将版本 PR 合并为主
-   检查 [动作](https://github.com/codecademy-engineering/workshop-client/actions) 查看软件包何时发布

## 常见问题

### @codecademy/workshop-client 是什么？

螺旋桨后端客户端

### 如何安装 @codecademy/workshop-client？

在项目目录运行 npm install @codecademy/workshop-client，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@opentelemetry/api（^1\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @codecademy/workshop-client 支持 TypeScript 吗？

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

### @codecademy/workshop-client 支持 ESM 还是 CommonJS？

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

### @codecademy/workshop-client 可以商用吗？

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

### @codecademy/workshop-client 的下载量有多少？

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

### @codecademy/workshop-client 还在维护吗？

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

