Код, там где он действительно нужен.
Code Node — это универсальный инструмент, который позволяет встроить собственный JavaScript или Python в любую точку вашего сценария. Он включается в тот момент, когда визуальных блоков недостаточно — и дает вам полный контроль над логикой и данными.
Зачем использовать Code Node?
Потому что он позволяет:
- Выполнять любую логику, которую сложно собрать блоками.
- Работать с данными так же гибко, как в полноценном backend-е.
- Расширять функциональность рабочих процессов при помощи JS или Python.
- Создавать точки интеграции, преобразования данных, вычислений или собственных регулярок.
Если в Выражениях не хватает возможностей — Code Node всегда подстрахует.
Как работает Code Node
- Выбор режима выполнения
В Code Node есть два режима:
Выполнить один раз для всех элементов (по умолчанию)
Код выполняется один раз, даже если входящих элементов несколько. Подходит для:
- агрегации
- вычислений на основе всего массива данных
- подготовки общих результатов
Выполнить один раз для каждого элемента
Код выполняется для каждого входящего элемента отдельно. Используйте, когда:
- данные необходимо обработать индивидуально
- структура входа нестабильная
- нужна индивидуальная трансформация для каждого элемента
JavaScript в Code Node
Code Node работает поверх Node.js — со всеми привычными возможностями языка.
Поддерживаемые возможности:
- внутренний модуль crypto,
- библиотека moment.
Внешние и встроенные модули
Ограничения по безопасности, сторонние модули недоступны.
Встроенные методы и переменные
Нейро предоставляет удобный набор переменных:
- $json — данные текущего элемента
- $items() — доступ к данным предыдущих узлов
- $now — текущее время
- $execution — детали выполнения
- $workflow — данные о воркфлоу
Введите $ в редакторе, и появится список доступных функций.
Шорткаты редактора
Редактор кода в Node поддерживает:
- автокомплит
- мультикурсор
- сворачивание кода
- быстрые навигационные команды
Это превращает встроенный редактор в мини-IDE.
Python в Code Node
Python доступен в двух реализациях — важно отличать их.
- Pyodide (legacy)
Эта версия больше не развивается и постепенно будет выводиться из Нейро42.
Особенности:
- работает через WebAssembly — медленнее, чем JS;
- доступны только пакеты, встроенные в Pyodide;
- поддерживает переменные через _item, _items;
- нельзя делать HTTP-запросы и работать с файловой системой.
- Native Python (beta)
Добавлен в версии 1.111.0 — полноценный Python, выполняемый в диспетчере задач.
Особенности нативного Python:
- Поддерживает стандартную библиотеку.
- Можно использовать сторонние модули (если добавлены в runner).
- Поддерживает только _items и _item.
- Нет доступа к другим встроенным переменным.
Требует квадратных скобок: item[«json»][«field»] (в отличие от Pyodide)
Важно: переход на нативный Python — радикальное изменение. Скрипты могут потребовать доработки.
Ключевые концепции работы с Code Node
- Структура данных
Понимание структуры входящих данных — основа успешной логики.
- Связывание данных
Если количество выходных элементов не совпадает с входными, связывание необходимо выполнять вручную.
- Правильный вывод результата
Ваш код должен вернуть массив объектов вида: return [{ json: {…} }]
ИИ в Code Node
(Доступно только в облаке.)
Можно попросить ChatGPT сгенерировать код прямо внутри нода.
Важно: Сгенерированный код полностью заменяет существующий. Поэтому используйте ИИ как стартовую точку — и дорабатывайте вручную.
Как использовать:
- Выберите язык JavaScript
- Перейдите на вкладку “Спросить ИИ”
- Напишите запрос
- Нажмите Сгенерировать Код