> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Ciclo de vida de los nodos personalizados de ComfyUI

> Descubre cómo ComfyUI carga nodos personalizados: importaciones de __init__.py, NODE_CLASS_MAPPINGS y WEB_DIRECTORY para JavaScript.

## Cómo carga Comfy los nodos personalizados

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.
\[!TIP] 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

`__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í:

```python theme={null}
from .python_file import MyCustomNode
NODE_CLASS_MAPPINGS = { "My Custom Node" : MyCustomNode }
__all__ = ["NODE_CLASS_MAPPINGS"]
```

#### 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.

#### NODE\_DISPLAY\_NAME\_MAPPINGS

`__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.

#### WEB\_DIRECTORY

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`.
\[!TIP] *Solo* se servirán los archivos `.js`; no puedes implementar `.css` u otros tipos de esta manera

> [!WARNING]
>
> 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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.