扩展 Comfy 客户端
Comfy 可以通过扩展机制进行修改。要添加一个扩展,你需要:
- 从你的 Python 模块中导出
WEB_DIRECTORY,
- 将一个或多个
.js 文件放入该目录,
- 使用
app.registerExtension 注册你的扩展。
下面是这三个步骤。了解如何添加扩展后,可以查阅可用的钩子以让你的代码被调用,
也可以了解你可能需要的各种 Comfy 对象,
或者直接跳转到一些示例代码片段。
导出 WEB_DIRECTORY
可以通过在你的自定义节点目录下创建一个子目录(通常叫 js),并导出 WEB_DIRECTORY 来扩展 Comfy 网页客户端——所以你的 __init__.py 应该包含如下内容:
WEB_DIRECTORY = "./js"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]
包含 .js 文件
所有 Javascript .js 文件会在 Comfy 网页加载时被浏览器自动加载。你无需指定扩展所在的文件。
只有 .js 文件会被添加到网页。其他资源(如 .css 文件)可以通过 extensions/custom_node_subfolder/the_file.css 访问,并可通过代码动态添加。
该路径不包含子文件夹名称。WEB_DIRECTORY 的值由服务器插入。
注册扩展
扩展的基本结构是导入主 Comfy app 对象,并调用 app.registerExtension,
传入一个包含唯一 name 和一个或多个由 Comfy 钩子调用的函数的字典。
一个完整、简单且“烦人”的扩展示例如下:
import { app } from "../../scripts/app.js";
app.registerExtension({
name: "a.unique.name.for.a.useless.extension",
async setup() {
alert("Setup complete!")
},
})