Skip to content

注:根据提供的输入,这是一个MDX文档的frontmatter部分,主要包含元数据信息。按照翻译规则: 1. 保持所有字段名不变(contentType, tags, hide) 2. 保持所有值不变(包括数组和嵌套结构) 3. 不需要翻译任何内容 4. 保持格式完全一致

因此输出与输入完全相同。

使用 Code 节点#

使用 Code 节点编写自定义 JavaScript 或 Python 代码,并将其作为工作流中的一个步骤运行。

在 n8n 中编写代码

本页提供关于 Code 节点的使用信息。如需更多编码指导,请参阅 Code 部分,其中包含:

示例和模板

如需帮助您入门的用法示例和模板,请参阅 n8n 的 Code 集成页面。

Function 和 Function Item 节点

自 0.198.0 版本起,Code 节点已取代 Function 和 Function Item 节点。如果您使用的是旧版 n8n,仍可查看 Function 节点文档Function Item 节点文档

使用方法#

如何使用 Code 节点。

选择模式#

有两种模式可供选择:

  • 对所有项目运行一次:这是默认模式。当工作流运行时,无论有多少输入项,代码节点中的代码都只会执行一次。
  • 对每个项目运行一次:如果您希望代码针对每个输入项都执行一次,请选择此模式。

JavaScript#

Code 节点支持 Node.js。

支持的 JavaScript 功能#

Code 节点支持以下功能:

  • Promise。您可以直接返回 Promise 对象而无需直接返回条目,Promise 会自动解析结果。
  • 使用 console.log 向浏览器控制台输出信息。这对调试和排查工作流问题非常有用。

外部库#

如果您自行托管 n8n,可以在 Code 节点中导入和使用内置及外部 npm 模块。要了解如何启用外部模块,请参考在 Code 节点中启用模块指南。

如果您使用 n8n Cloud,则无法导入外部 npm 模块。n8n 为您提供了两个可用模块:

内置方法和变量#

n8n 提供了用于处理数据和访问 n8n 数据的内置方法和变量。更多信息请参考内置方法和变量

使用内置方法和变量的语法是 $变量名$方法名()。在 Code 节点或表达式编辑器中输入 $ 可查看建议方法和变量列表。

键盘快捷键#

Code 节点编辑环境支持多种节省时间的实用键盘快捷键,包括自动补全、代码折叠和使用多光标等操作。完整列表可在键盘快捷键列表中找到。

Python 支持#

n8n 在 1.0 版本中增加了 Python 支持。它不包含 Python 可执行文件,而是通过 Pyodide(一个将 CPython 移植到 WebAssembly 的项目)提供 Python 支持。这意味着可用的 Python 包仅限于 Pyodide 包含的包。n8n 会在您首次使用时自动下载该包。

比 JavaScript 慢

Code 节点处理 Python 代码比处理 JavaScript 耗时更长,这是由于额外的编译步骤导致的。

内置方法和变量#

n8n 提供了用于处理数据和访问 n8n 数据的内置方法和变量。更多信息请参阅内置方法和变量

使用内置方法和变量的语法是 _variableName_methodName()。在 Code 节点中输入 _ 可以查看建议的方法和变量列表。

键盘快捷键#

Code 节点编辑环境支持多种节省时间的实用键盘快捷键,包括自动补全、代码折叠和使用多光标等操作。完整列表可在键盘快捷键列表中找到。

文件系统和 HTTP 请求#

您无法直接访问文件系统或发起 HTTP 请求。请改用以下节点: * 从磁盘读写文件 * HTTP 请求

在 n8n 中编写代码#

在 n8n 中有两处可以使用代码:Code 节点和表达式编辑器。使用这些功能时,您需要了解一些关键概念,以及一些用于常见任务的内置方法和变量。

核心概念#

在使用 Code 节点时,您需要理解以下概念:

  • 数据结构:了解您在 Code 节点中接收的数据,以及从节点输出数据的要求。
  • 数据项链接:学习数据项如何工作,以及如何链接来自先前节点的数据项。当输入和输出数据项数量不匹配时,您需要在代码中处理数据项链接。

内置方法和变量#

n8n 包含内置方法和变量,这些功能提供以下支持:

  • 访问特定数据项
  • 获取工作流、执行记录和 n8n 环境的相关数据
  • 辅助处理数据和时间的便捷变量

更多信息请参考内置方法和变量

在 Code 节点中使用 AI#

功能可用性

Code 节点中的 AI 辅助功能仅对 Cloud 用户开放,自托管的 n8n 不支持此功能。

AI 生成的代码会覆盖原有代码

如果您已经在 Code 选项卡中编写了部分代码,AI 生成的代码将会替换它。n8n 建议将 AI 作为创建初始代码的起点,然后根据需要再进行编辑。

使用 ChatGPT 在 Code 节点中生成代码的步骤:

  1. 在 Code 节点中,将 Language 设置为 JavaScript
  2. 选择 Ask AI 选项卡。
  3. 输入您的查询内容。
  4. 点击 Generate Code。n8n 会将您的查询发送给 ChatGPT,然后在 Code 选项卡中显示结果。