# @farm\.js/desktop 中文文档

规范地址：https://npmcn.com/package/%40farm.js/desktop/

版本：0\.1\.0-beta\.0
npm 元数据更新时间：2026-11-01T00:43:09.709Z
中文译文更新时间：2026-11-01T03:32:32.997Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40farm.js/desktop
原文对照：https://npmcn.com/package/%40farm.js/desktop/?lang=original
项目主页：https://github.com/farming-labs/farm.js#readme
源码仓库：https://github.com/farming-labs/farm.js

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

- 包体积（解压后）：33.2 kB，10 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.13\.0
- 运行依赖：0 个
- peer 依赖：electrobun ^2\.0\.5，@farm\.js/core 0\.1\.48
- 首次发布：2026-11-01T00:42:13.344Z
- 最新版本发布：2026-11-01T00:43:09.545Z
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

用于farm .js应用程序的桌面外壳（farm dev - Desktop, farm build - Desktop）。运送Electrobun外壳。

## 安装

```sh
npm install @farm.js/desktop
```

也可以使用：`pnpm add @farm.js/desktop`、`yarn add @farm.js/desktop`、`bun add @farm.js/desktop`

## README

# @farm.js /桌面

用于Farm.js应用程序的桌面外壳。每个shell都是一个子路径 `desktop.shell` 在 `farm.config.ts`． 默认值为 [Electrobun](https://github.com/blackboardsh/electrobun) （`@farm.js/desktop/electrobun`）. 使用shell的工具包安装它，添加 `desktop` 对于配置， 和运行 `farm dev --desktop` 或者 `farm build --desktop`.

```sh
pnpm add -D @farm.js/desktop electrobun
```

```ts
// farm.config.ts
export default defineConfig({
  desktop: { name: "Notes", id: "com.example.notes", window: { width: 1100, height: 760 } },
});
```

## Electrobun

每次运行时，Farm都会将Electrobun shell项目写入 `.farm/output/desktop/shell`：

-   `electrobun.config.ts`：应用名称、标识符和版本 `desktop`;Farm服务器输出 复制到应用程序中；系统WebView（没有绑定的Chromium）。
-   `main.ts`：电焊条主要工艺。它导入服务器的 `start()` 进程内,结合 `127.0.0.1` 在操作系统分配的端口上，传递每次启动的秘密和一次性握手令牌， 集合 `appDataDir()` 来 `Utils.paths.userData`，在握手URL处打开窗口，保持打开状态 应用程序的原点（在系统浏览器中打开的其他链接）运行 `onReady` 从 `src/desktop.ts`， 并在应用程序退出之前通过Farm的关闭来停止服务器。

`farm dev --desktop` 运行 `electrobun dev` 打开窗户 `farm dev`，所以HMR是有效的。 `farm build --desktop` 为Bun构建服务器，运行 `electrobun build --env=stable`，并移动 应用程序 `.farm/output/desktop/dist` (更新档案 `dist/update`）。

第一个 `electrobun` 命令将Hutch和Electrobun运行时下载到 `~/.hutch`。这个 打包应用自带包。

看到 [桌面应用程序](https://farmjs.dev/docs/desktop).

## 常见问题

### @farm\.js/desktop 是什么？

用于farm \.js应用程序的桌面外壳（farm dev - Desktop, farm build - Desktop）。运送Electrobun外壳。

### 如何安装 @farm\.js/desktop？

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

### @farm\.js/desktop 支持 TypeScript 吗？

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

### @farm\.js/desktop 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @farm\.js/desktop 需要什么版本的 Node\.js？

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

### @farm\.js/desktop 可以商用吗？

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

### @farm\.js/desktop 还在维护吗？

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

