> ## Documentation Index
> Fetch the complete documentation index at: https://dripart-docs-recommend-assets-api.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Javascript 扩展

## 扩展 Comfy 客户端

Comfy 可以通过扩展机制进行修改。要添加一个扩展，你需要：

* 从你的 Python 模块中导出 `WEB_DIRECTORY`，
* 将一个或多个 `.js` 文件放入该目录，
* 使用 `app.registerExtension` 注册你的扩展。

下面是这三个步骤。了解如何添加扩展后，可以查阅可用的[钩子](/zh/custom-nodes/js/javascript_hooks)以让你的代码被调用，
也可以了解你可能需要的各种 [Comfy 对象](/zh/custom-nodes/js/javascript_objects_and_hijacking)，
或者直接跳转到一些[示例代码片段](/zh/custom-nodes/js/javascript_examples)。

### 导出 `WEB_DIRECTORY`

可以通过在你的自定义节点目录下创建一个子目录（通常叫 `js`），并导出 `WEB_DIRECTORY` 来扩展 Comfy 网页客户端——所以你的 `__init__.py` 应该包含如下内容：

```python theme={null}
WEB_DIRECTORY = "./js"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]
```

### 包含 `.js` 文件

<Tip>所有 Javascript `.js` 文件会在 Comfy 网页加载时被浏览器自动加载。你无需指定扩展所在的文件。</Tip>

只有 `.js` 文件会被添加到网页。其他资源（如 `.css` 文件）可以通过 `extensions/custom_node_subfolder/the_file.css` 访问，并可通过代码动态添加。

<Warning>该路径不包含子文件夹名称。`WEB_DIRECTORY` 的值由服务器插入。</Warning>

### 注册扩展

扩展的基本结构是导入主 Comfy `app` 对象，并调用 `app.registerExtension`，
传入一个包含唯一 `name` 和一个或多个由 Comfy 钩子调用的函数的字典。

一个完整、简单且“烦人”的扩展示例如下：

```Javascript theme={null}
import { app } from "../../scripts/app.js";
app.registerExtension({ 
	name: "a.unique.name.for.a.useless.extension",
	async setup() { 
		alert("Setup complete!")
	},
})
```
