Cuando Comfy inicia, escanea el directorio custom_nodes en busca de módulos de Python e intenta cargarlos.
Si el módulo exporta NODE_CLASS_MAPPINGS, se tratará como un nodo personalizado.
Un módulo de Python es un directorio que contiene un archivo __init__.py.
El módulo exporta todo lo que se enumera en el atributo __all__ definido en __init__.py.
__init__.py se ejecuta cuando Comfy intenta importar el módulo. Para que un módulo se reconozca como contenedor de
definiciones de nodos personalizados, debe exportar NODE_CLASS_MAPPINGS. Si lo hace (y si nada falla en la importación),
los nodos definidos en el módulo estarán disponibles en Comfy. Si hay un error en tu código,
Comfy continuará, pero reportará el módulo como fallido al cargar. ¡Así que revisa la consola de Python!Un archivo __init__.py muy sencillo se vería así:
from .python_file import MyCustomNodeNODE_CLASS_MAPPINGS = { "My Custom Node" : MyCustomNode }__all__ = ["NODE_CLASS_MAPPINGS"]
NODE_CLASS_MAPPINGS debe ser un dict que asigne los nombres de los nodos personalizados (únicos en toda la instalación de Comfy)
a la clase de nodo correspondiente.
__init__.py también puede exportar NODE_DISPLAY_NAME_MAPPINGS, que asigna el mismo nombre único a un nombre para mostrar del nodo.
Si no proporcionas NODE_DISPLAY_NAME_MAPPINGS, Comfy usará el nombre único como nombre para mostrar.
Si vas a implementar código del lado del cliente, también deberás exportar la ruta, relativa al módulo, en la que se
encuentran los archivos JavaScript. Es convencional colocarlos en un subdirectorio de tu nodo personalizado llamado js.
Solo se servirán los archivos .js; no puedes implementar .css u otros tipos de esta manera
En versiones anteriores de Comfy, __init__.py debía copiar los archivos JavaScript al subdirectorio web
principal de Comfy. Todavía verás código que hace esto. No lo hagas.