news 2026/5/4 18:00:22

『n8n』代码节点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
『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》

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 12:32:12

Angular 前端端口号修改的几种方式

4200 被占是 Angular 开发里最常见的问题之一。 按 从“临时 → 永久” 给你排一下,挑最适合你的。 方法一(最快):启动时指定端口【最常用】 在项目根目录直接运行: ng serve --port 4300或者顺手把 host 也一起指定&a…

作者头像 李华
网站建设 2026/5/2 11:56:22

百度AI:让电脑和手机也能像人一样操作屏幕的智能助手诞生了

想象一下,如果你的电脑或手机能像真人一样看懂屏幕上的内容,知道哪个按钮该点击,哪个输入框该填写,甚至还能帮你完成复杂的多步操作任务,那会是什么样的体验?这听起来像是科幻电影里的情节,但百…

作者头像 李华
网站建设 2026/5/1 6:40:47

备份了,却救不了你?警惕这三种“伪备份”陷阱

很多企业都以为自己有备份——U盘拷过、网盘同步过、甚至买了专业备份软件……可当勒索病毒真正来袭、硬盘突然崩溃时,却发现:备份根本用不了。这不是危言耸听,而是无数中小企业踩过的坑。今天,我们不谈功能多强大,只聊…

作者头像 李华
网站建设 2026/5/2 23:03:50

【软件测试】9_性能测试实战 _性能测试监控

文章目录一、性能测试监控关键指标1.1 系统指标1.2 硬件服务器资源指标1.2.1 CPU、内存、磁盘1.2.2 CPU使用率1.2.3 CPU占用分类1.2.4 内存和虚拟内存1.2.5 磁盘IO1.2.6 网络1.3 JAVA应用1.3.1 JVM-java虚拟机1.3.2 JAVA虚拟机内存1.3.3 FULL GC机制1.4 数据库监控1.4.1 慢查询…

作者头像 李华
网站建设 2026/5/4 13:19:30

不想用 ElevenLabs?2026 年 7 款 AI 语音、TTS 与语音克隆替代方案评测

随着人工智能语音技术的飞速发展,创作者、开发者和企业越来越多地寻找 ElevenLabs 的替代方案——这些平台能提供更具竞争力的定价、更高的语音克隆准确率、更灵活的 API 以及更强的可扩展性。本篇 2026 年评测将为您深入分析 7 款 ElevenLabs 顶级替代方案、它们的…

作者头像 李华
网站建设 2026/4/25 14:55:20

软件开发公司新蓝海:2026年如何借力AI开发平台,降本增效接大单?

对于软件开发公司而言,2026年既是挑战也是机遇。客户需求日益智能化,但自建AI团队成本高昂、技术风险大。此时,选择一个得力的AI开发平台作为战略合作伙伴,将成为突围的关键。它不仅能提升自身交付能力,更能开辟“AI代…

作者头像 李华