当前位置: 首页 > news >正文

『n8n』代码节点

点赞 + 关注 + 收藏 = 学会了

整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》

可视化拖拽是 n8n 的优势,但也有明显的局限性。但实际使用中,你大概率会遇到 “现成节点不够用” 的情况,这时候「代码节点」就成了你的 “万能补位工具”。

「代码节点」核心可以总结为 4 个场景:

  1. 个性化逻辑无法通过拖拽实现。
  2. 特殊格式数据的处理需求。
  3. 弥补 n8n 没有的内置功能。
  4. 简化工作流,减少节点冗余

简单来说:可视化节点能搞定的,优先用拖拽;可视化节点搞不定的,就用代码节点补位,两者结合才能发挥 n8n 的最大威力。

本文介绍「代码节点」里常用的内置变量和方法。

代码节点的用法讲解

在 n8n 中可以搜索code就能找到「代码节点」。

n8n 的代码节点支持两种编程语言:JavaScript(默认,最常用)和Python

这两种语言上手都很简单,我之前写过一篇《Python 快速入门篇》,想在 n8n 用 Python 写代码的工友可以看看。之后也许会再开一个新坑聊聊 JS 的算法以及容易出错的点,毕竟 JS 可是我以前的淘金铲。

「代码节点」提供了2种运行模式(Mode):

  • Run Once for All ltems:这是默认设置。当你的工作流程运行时,代码节点中的代码会执行一次,无论输入项多少。
  • Run Once for Each Item:如果你想让代码对每个输入项目运行一次,就选择这个。

代码节点的工作逻辑很简单,就三件事:获取输入数据 → 处理数据 → 输出数据,这是使用代码节点的关键,必须先搞懂。

在使用「代码节点」之前我建议你先收藏一下 n8n 代码节点的文档👉 https://docs.n8n.io/code/code-node

n8n 的代码运行环境提供了一些针对工作流常用到的内置函数和内置变量,它们能大大减少你的原生代码量。所以一定要多看 n8n 的官方文档。

内置变量通常是以$符号开头的,(念念叨叨一句:死去的 JQuery 记忆被踢了一脚)。

在代码编辑器里输入$,编辑器就会提示有哪些内置函数和变量可以使用,非常方便。

前面说了它能节省我们的原生代码量,到底有多节省呢?

比如,输出今天的日期,使用 n8n 内置变量这么写,而且语义非常清晰⬇️

console.log($today)

用JS原生的方法要这么写⬇️

/** * 获取当天的年、月、日(格式化版本,个位数补零) * @param {boolean} [returnString=false] - 是否返回格式化字符串(如"2026-01-25"),默认返回对象 * @returns {Object|string} 格式化后的年月日对象或字符串 */functiongetCurrentFormattedDate(returnString=false){constnow=newDate();constyear=now.getFullYear();// 月份补零:先+1转为实际月份,再转为字符串,不足2位则前面补0constmonth=String(now.getMonth()+1).padStart(2,'0');// 日期补零:同理,不足2位补0constday=String(now.getDate()).padStart(2,'0');// 根据参数返回对应格式if(returnString){return`${year}-${month}-${day}`;}return{year,month,day};}console.log(getCurrentFormattedDate(true))

使用console.log()可以在浏览器控制台输出内容。

比如上面的console.log($today),按 F12 打开浏览器控制台,切换到Console面板,点击运行代码就能看到控制台输出了对应的内容。

读取上一个节点输入的数据

用到「代码节点」大概率是要处理数据的了,所以接收上一个节点传入的数据也是很常见的操作。

n8n 提供了一堆内置方法让我们很方便的获取上一个节点传入的数据。

这个文档也要收藏👉 https://docs.n8n.io/code/code-node

如果你想获取「代码节点」前面任意一个节点的数据,其实不需要记住代码,只要会用鼠标拖拽就行了。

比如我这个工作流,用「HTTP 节点」请求了一些数据,并且给这个「HTTP 节点」重命名为GetUserInfo,然后再接一个「Edit Fields 节点」里面设置了一个name_zh数据。

在最后的「代码节点」里要获取「GetUserInfo 节点」的数据只需要拖进来就行了。

可以看到,拖进来之后它是以$('GetUserInfo')的方式找到这个节点,也就是通过节点名的方式找到它。

first()是这个节点的第一项数据,节点返回的数据是数组,这些在官方文档都有提到。

输出结果可以打开浏览器控制台看看。

常用方法

n8n 还提供了一些常用的方法 ⬇️

https://docs.n8n.io/code/builtin/convenience

比如$ifEmpty()

$ifEmpty(value, defaultValue)

这个方法会判断value是否为空(undefinednull''、空数组、空对象),如果为空则返回defaultValue的值。

要在一堆数值里挑出最大值或者最小值,可以使用$max()$min()方法。

其他方法可以参考文档,用法非常简单。

输出数据给下一个节点

「代码节点」还有一个功能就是整理数据。这个能力完全覆盖了「Edit Fields 节点」的能力。

在「代码节点」里,通过return可以将数据传递给下一个节点,而return的内容就是你整理好的数据。

比如,从前2个节点获取到一大堆数据,但我就是要骗下一个节点说没获取到任何用户信息,就可以这么写。

当然,我们通过节点名可以获取任意祖先节点的数据,通过「代码节点」可以将所有祖先数据都重新组装一遍返回给下一个节点。


以上就是本文的全部内容啦,想了解更多n8n玩法欢迎关注《n8n修炼手册》👏

如果你有 NAS,我非常建议你在 NAS 上部署一套 n8n,搞搞副业也好,帮你完成工作任务也好 《『NAS』不止娱乐,NAS也是生产力,在绿联部署AI工作流工具-n8n》

点赞 + 关注 + 收藏 = 学会了

http://www.jsqmd.com/news/320291/

相关文章:

  • 飞书助力clawdbot成为本土化的AI助手
  • 2026宁波全屋原木定制厂家综合实力解析与选择指南
  • 飞函在金融行业的合规应用:如何满足监管机构的通讯要求
  • 2026年Q1光伏支架钢管优质制造商深度测评与推荐
  • LCR004-只出现一次的数字II
  • 2026年电磁阀总成非标定制厂家综合评估与精选推荐
  • 2026年1月宁波喷塑加工公司综合评估与精选推荐
  • 探秘2026年实力灌溉喷头源头厂家:精准灌溉背后的硬核科技
  • 2026年可靠滴头供应商:国产技术如何破局
  • 2026年宁波GEO优化公司综合评估:6家顶尖服务商深度解析
  • 厨房电器产线升级指南:2024年倍速链解决方案厂商综合评估
  • 探寻可靠之源:2026年五家实力流水景墙制造厂盘点
  • 2026年专业集中供料系统厂家深度评测与精选推荐
  • 2026天津电线电缆实力厂家综合评估与精选推荐
  • 2026年残疾人就业服务行业权威评估:六家顶尖专业机构深度解析
  • fastapi是什么框架?我看好多人提到了
  • 基于Springboot售楼管理系统【附源码+文档】
  • Angular 前端端口号修改的几种方式
  • 2026年气力输送实力厂商盘点:6家顶尖解决方案深度解析
  • 2026年临沂干洗哪家强?三家顶尖服务商深度解析
  • 新版 Angular 默认不会生成 serve.options,端口需要自己加,如何操作
  • 2026年宜昌汽车装饰代理服务商综合评测与选购指南
  • 面试紧张如何正确应对
  • 2026年宜昌西陵区新能源二手车购买指南与优选服务商分析
  • 2026年初,专业残疾人安置平台深度评测与推荐
  • 2026年宜昌西陵区汽车装饰代理直销公司综合选购指南
  • 2026年宜昌西陵区新能源二手车平台选购全指南
  • 浅谈 强化学习
  • 那些英语流利的孩子背后:与其焦虑天赋,不如看看这三个被忽略的日常习惯
  • 2026现阶段性价比高的残疾人安置公司哪家专业