Code 节点精通:数据处理、API 调用和文件生成 - n8n 工作流

使用 n8n 的 Code 节点,掌握在 n8n 工作流中编写高级 JavaScript 脚本的技巧。通过这个交互式 n8n 模板,学习数据聚合、调用外部 API 以及创建二进制文件。

工作流预览

准备好自动化了吗?

下载此 n8n 工作流模板并立即开始使用。

适用人群

希望在 n8n 中使用自定义 JavaScript 的开发者和技术用户。
需要执行标准 n8n 节点无法完成的复杂数据转换或聚合操作的用户。
希望了解 n8n Code 节点不同执行模式(逐项处理 vs. 全部一次性处理)的自动化专家。
任何希望通过 n8n 模板来提升自定义脚本技能的用户。

概览

n8n 的 Code 节点可以说是该平台最强大的工具,它允许用户将自定义 JavaScript 逻辑直接注入到 n8n 工作流中。本 n8n 工作流模板是一个上手的实战指南,演示了 Code 节点的四个关键用例:


  1. 数据项增强:为单个数据项计算新字段(如年龄和全名)。

  2. 外部集成:使用内置助手向外部 API 发起异步 HTTP 请求。

  3. 数据聚合:汇总所有输入数据(例如,计算平均年龄)。

  4. 文件生成:根据聚合后的 JSON 输入,创建一个二进制文件(如 CSV 报告)。

通过学习本 n8n 模板,用户可以快速地从基础的工作流搭建进阶到编写强大、动态的自动化脚本。

工作原理

这个全面的 n8n 工作流从手动触发器(Start Tutorial)开始,依次经过几个逻辑阶段,每个阶段都重点展示了 Code 节点的某一个不同方面:


  1. 数据初始化1. Sample Data 节点初始化一个用户对象列表。2. Split Out Users 节点确保每个用户都成为一个独立的数据项,为“逐项处理”做好准备。

  2. 逐项转换(本地计算)3. Process Each User Code 节点会对每一个用户数据项单独运行。它使用 JavaScript 日期函数来计算用户的 fullName(全名)和精确的 age(年龄)。

  3. 逐项转换(调用外部 API)4. Fetch External Data (Advanced) Code 节点继续逐项运行。它演示了如何使用 this.helpers.httpRequest 基于用户名,调用外部 API(genderize.io)以获取用户性别的概率数据,从而丰富数据。

  4. 数据聚合5. Calculate Average Age Code 节点切换到“全部一次性处理 (Run Once for All Items)”模式。它使用 $items() 函数访问前面所有步骤的结果,计算出一个包含用户总数和平均年龄的汇总结果。在处理大型数据集时,这是 Code 节点的一个关键功能。

  5. 文件生成(专家级):最后的 6. Create a Binary File (Expert) Code 节点再次聚合数据,生成一个 CSV 字符串,并使用 this.helpers.prepareBinaryData 将该字符串转换为 n8n 工作流中可直接使用的二进制报告文件。

安装指南

要安装和测试此 n8n 工作流,请按照以下步骤操作:


  1. 复制 JSON:复制提供的 n8n 工作流 JSON 代码。

  2. 导入到 n8n:在你的 n8n 实例中,点击“新建 (New)”,选择“从 JSON 导入 (Import from JSON)”。粘贴代码后点击“导入 (Import)”。

  3. 检查逻辑:查看附加在 Code 节点上的便签(Sticky notes),以了解 JavaScript 代码和执行模式的解释。

  4. 执行:由于起始节点是“手动触发器 (Manual Trigger)”,请点击“运行工作流 (Run Workflow)”,然后点击“开始教程 (Start Tutorial)”以分步执行工作流。

  5. 检查输出:检查每个 Code 节点的输出,观察数据结构是如何变化的,从独立的数据项转变为包含 JSON 元数据和二进制 CSV 文件的单一聚合报告。此 n8n 模板无需任何外部凭据。

节点详情

Start Tutorial (Manual Trigger):手动运行此 n8n 工作流的起始触发点。
1. Sample Data (Set n8n node):使用 Set 节点初始化工作流,提供一组示例用户对象作为教程的输入数据。
2. Split Out Users (Split Out n8n node):关键的 SplitOut 节点,它将包含用户数组的单个数据项转换为多个独立的数据项,以便后续的 Code 节点可以逐一处理。
3. Process Each User (Code n8n node):计算当前数据项的派生数据(fullName, age)。关键配置:模式设置为 逐项运行 (Run Once for Each Item)
4. Fetch External Data (Advanced) (Code n8n node):演示如何使用 await this.helpers.httpRequest 对当前用户进行异步操作,以获取外部数据(性别猜测)。关键配置:模式设置为 逐项运行 (Run Once for Each Item)
5. Calculate Average Age (Code n8n node):聚合所有先前数据项的功能。它使用 $items() 和 JavaScript 的 reduce 方法来计算平均年龄。关键配置:模式设置为 全部一次性处理 (Run Once for All Items)


  • 6. Create a Binary File (Expert) (Code n8n node):根据聚合数据生成 CSV 报告,并使用 this.helpers.prepareBinaryData 将其转换为二进制文件。关键配置:模式设置为 全部一次性处理 (Run Once for All Items)

相关 n8n 工作流

免费

节点: 5 节点
更新时间: 2025年12月26日
创建者

Innovative builder with a passion for crafting automation solutions that solve real-world challenges. From streamlining workflows to driving efficiency, my work empowers teams and individuals to achieve more with less effort. Experienced in developing scalable tools and strategies that deliver results with n8n, supabase and cline.

精选*