自定义节点开发

Javascript 扩展

扩展 Comfy 客户端 Comfy 可以通过扩展机制进行修改。要添加一个扩展,你需要: - 从你的 Python 模块中导出 WEB DIRECTORY , - 将一个或多个 .js 文件放入该目录, - 使用 app.registerExtension 注册你的扩展。 下面是这三个步骤。了解如何添加扩展后,可以查阅可用的 钩子 /zh/custom-no

扩展 Comfy 客户端

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

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

下面是这三个步骤。了解如何添加扩展后,可以查阅可用的钩子以让你的代码被调用, 也可以了解你可能需要的各种 Comfy 对象, 或者直接跳转到一些示例代码片段

导出 WEB_DIRECTORY

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

python
WEB_DIRECTORY = "./js"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]

包含 .js 文件

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

注册扩展

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

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

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

官方原文

本页来自 Comfy-Org 官方中文文档的固定版本,并转换为 xueai 静态页面。内容以官方持续更新的页面为准。

内容授权与修改

官方文档采用 GPL-3.0。本站保留许可证、固定提交号和修改说明,不代表 ComfyUI 或 Comfy-Org 对本站背书。

GPL-3.0来源和修改说明