精品库

n8n保姆级教程:5分钟手把手拆解Code节点4种用法,小白也能秒懂

2025-10-05 · n8n & 工作流 · 约 11 分钟 · 4205 字

精品库入选 · 宁缺毋滥 · 读完能跑

大家好,我是莎姐

n8n中有个非常强大也复杂的节点,那就是Code节点。

当内置节点无法满足需求时,你可能需要它...

当数据需要复杂的处理时,你可能需要它...

当数据条件逻辑过于复杂事,你可能需要它...

今天来带大家拆解一下Code节点的几种简单的用法。

图片

这个n8n工作流主要用到了4个code节点,每个code节点处理数据的功能都不一样。

最后也会拆解Code节点的两种执行模式和使用Code节点的场景

1. Start Tutorial (手动触发器)

图片

类型: manualTrigger

功能: 工作流的起始点,手动触发执行

2. Sample Data (Set节点)

图片

类型: n8n-nodes-base.set

功能: 创建示例用户数据

数据结构: 包含4个用户,每个用户有firstName、lastName、birthDate字段

3. Split Out Users (分割节点)

图片

类型: n8n-nodes-base.splitOut

功能: 将用户数组分割成单独的项目,为后续逐个处理做准备

关键参数: fieldToSplitOut: "users"

4. Process Each User (Code节点 - 基础)

图片

模式: runOnceForEachItem (为每个项目运行一次)

功能:

演示基本的数据处理和转换

5. Fetch External Data (Code节点 - 高级)

图片

模式: runOnceForEachItem

功能: 调用外部API (genderize.io) 根据名字猜测性别,

演示this.helpers.httpRequest的使用

6. Calculate Average Age (Code节点 - 聚合)

图片

模式: runOnceForAllItems (为所有项目运行一次)

功能:

使用$items()获取所有用户数据 计算平均年龄 演示数据聚合操作

7. Create Binary File (Code节点 - 专家级)图片

模式: runOnceForAllItems

功能: 生成CSV格式的用户报告 使用this.helpers.prepareBinaryData创建二进制文件

💡 关键技术点

Code节点的两种执行模式:

runOnceForEachItem: 为每个输入项目单独执行

runOnceForAllItems: 为所有项目执行一次(默认模式)

图片
  1. Run Once for Each Item (为每个项目运行一次)

工作原理:

数据访问方式:

// 获取当前项目的数据
const currentItem = $input.item.json;

// 返回单个项目
return {
  ...currentItem,
  newField: "新增字段"
};
  1. Run Once for All Items (为所有项目运行一次)

工作原理:

数据访问方式:

// 获取所有项目的数组
const allItems = $items();

// 可以返回单个项目、多个项目或空数组
return [
  {
    json: {
      summary: "处理结果",
      totalCount: allItems.length
    }
  }
];

⚡ 异步操作的重要作用

为什么需要异步(async/await)?

  1. 网络请求的本质特性:
// ❌ 错误方式 - 同步思维
const response = this.helpers.httpRequest({ url: 'https://api.example.com' });
console.log(response); // 这里会得到Promise对象,不是实际数据

// ✅ 正确方式 - 异步处理
const response = await this.helpers.httpRequest({ url: 'https://api.example.com' });
console.log(response); // 这里得到实际的API响应数据
  1. 性能优化:

不阻塞执行:在等待API响应时,不会阻塞整个n8n进程

并发处理:多个API调用可以同时进行

🎓 总结

这个工作流是一个渐进式,code节点的处理包含4个层次:

基础: 数据处理和转换

高级: API调用和异步操作

聚合: 多项目数据汇总

专家: 文件生成和二进制数据处理

🎯 Code节点的使用场景

  1. 内置节点无法满足需求时
  1. 复杂的数据处理和转换
  1. 条件逻辑过于复杂
  1. 需要调用特定API或处理特殊格式
  1. 需要使用JavaScript特有功能
  1. 批量操作和聚合分析

既然都看到这里了,对你有帮助的话,别忘了一键三连哈,非常Thanks♪(・ω・)ノ

你的一键三连对我是莫大的鼓励!!!

我准备了一份n8n资料合集,需要的可以+我,回复“资料”获取

如果想获取该工作流的话,回复“工作流”获取。

图片
图片

##n8n合集

n8n × 豆包 4.0:一键触发,批量自动化生图

n8n×Docker×Playwright:小红书自动上传避坑指南

ChatGPT都能叫滴滴了?逆天MCP让AI出行时代提前到来

5分钟!用n8n打造专属AI数据分析可视化助手

n8n实战:5分钟搞定小红书图文笔记工作流

n8n踩坑血泪史:花了一周时间才明白的道理

n8n实战指南:10分钟用高德MCP打造智能出行助手!

n8n核心节点类型保姆级指南文

n8n进阶实战:AI新闻机器人升级版,邮箱推送+飞书表格双重自动化

##n8n #智能体#工作流#Code节点