Calidad de código

Acceso a nodo legacy en n8n

Por qué patrones deprecados como $node, $item, y otros deben actualizarse

¿Qué es este problema?

n8n ha evolucionado su sintaxis de expresiones con el tiempo. Patrones viejos como $node['NodeName'].json, $item().$node, y otros accesores legacy aún funcionan pero están deprecados y pueden ser eliminados en versiones futuras.

Patrones deprecados:

  • $node['NodeName'].json en lugar de $('NodeName').item.json
  • $item().json en lugar de $input.item.json
  • $items() en lugar de $input.all()
  • Patrones de acceso a datos binarios legacy

¿Por qué es un problema?

Incompatibilidad futura

Patrones legacy pueden dejar de funcionar en versiones futuras de n8n.

Comportamiento inconsistente

Nuevas expresiones manejan casos edge mejor que las legacy.

Debugging más difícil

Documentación y ayuda de la comunidad se enfocan en patrones modernos.

Codebase mixto

Tener patrones viejos y nuevos crea confusión.

Cómo solucionarlo

  1. 1

    Usar acceso a nodo moderno

    Reemplaza $node['Name'].json con $('Name').item.json para sintaxis más limpia.

  2. 2

    Actualizar acceso a input

    Usa $input.item, $input.first(), $input.all() en lugar del legacy $item().

  3. 3

    Usar shorthand $json

    Accede a datos del item actual con $json en lugar de $item(0).json.

  4. 4

    Revisar docs de migración

    Revisa la guía de migración de n8n para lista completa de patrones deprecados.

Escanea tu workflow ahora

Sube tu archivo JSON de n8n y detecta patrones de acceso a nodos deprecados.

Buscar patrones legacy

Recursos relacionados

Problemas de calidad de código relacionados