使用代码节点#
使用代码节点编写自定义 JavaScript 或 Python 并在工作流中作为步骤运行。
在 n8n 中编码
此页面提供关于代码节点的使用信息。有关在 n8n 中编码的更多指导,请参阅代码部分。它包括:
示例和模板
有关帮助您入门的使用示例和模板,请参阅 n8n 的代码集成页面。
Function 和 Function Item 节点
从版本 0.198.0 开始,代码节点替换了 Function 和 Function Item 节点。如果您使用的是较旧版本的 n8n,您仍可以查看 Function 节点文档和 Function Item 节点文档。
使用方法#
如何使用代码节点。
选择模式#
有两种模式:
- 对所有项目运行一次:这是默认设置。当您的工作流运行时,代码节点中的代码只执行一次,无论有多少输入项目。
- 对每个项目运行一次:如果您希望代码为每个输入项目运行,请选择此选项。
JavaScript#
代码节点支持 Node.js。
支持的 JavaScript 功能#
代码节点支持:
- Promise。您可以返回一个相应解析的 Promise,而不是直接返回项目。
- 使用
console.log
写入浏览器控制台。这对调试和故障排除工作流很有用。
外部库#
如果您自托管 n8n,可以在代码节点中导入和使用内置和外部 npm 模块。要了解如何启用外部模块,请参阅在代码节点中启用模块指南。
如果您使用 n8n Cloud,则无法导入外部 npm 模块。n8n 为您提供两个模块:
内置方法和变量#
n8n 提供用于处理数据和访问 n8n 数据的内置方法和变量。有关更多信息,请参阅内置方法和变量。
使用内置方法和变量的语法是 $variableName
或 $methodName()
。在代码节点或表达式编辑器中输入 $
以查看建议方法和变量的列表。
键盘快捷键#
代码节点编辑环境支持节省时间和有用的键盘快捷键,用于从自动完成到代码折叠和使用多光标的一系列操作。完整列表可在键盘快捷键列表中找到。
Python#
n8n 在版本 1.0 中添加了 Python 支持。它不包含 Python 可执行文件。相反,n8n 使用 Pyodide 提供 Python 支持,这是 CPython 到 WebAssembly 的端口。这将可用的 Python 包限制为 Pyodide 包含的包。n8n 在您首次使用时自动下载包。
比 JavaScript 慢
代码节点处理 Python 的时间比处理 JavaScript 更长。这是由于额外的编译步骤。
内置方法和变量#
n8n 提供用于处理数据和访问 n8n 数据的内置方法和变量。有关更多信息,请参阅内置方法和变量。
使用内置方法和变量的语法是 _variableName
或 _methodName()
。在代码节点中输入 _
以查看建议方法和变量的列表。
键盘快捷键#
代码节点编辑环境支持节省时间和有用的键盘快捷键,用于从自动完成到代码折叠和使用多光标的一系列操作。完整列表可在键盘快捷键列表中找到。
文件系统和 HTTP 请求#
您无法访问文件系统或发出 HTTP 请求。请改用以下节点:
在 n8n 中编码#
在 n8n 中有两个地方可以使用代码:代码节点和表达式编辑器。使用任一区域时,您需要了解一些关键概念,以及一些内置方法和变量来帮助完成常见任务。
关键概念#
使用代码节点时,您需要了解以下概念:
内置方法和变量#
n8n 包含内置方法和变量。这些提供对以下内容的支持:
- 访问特定项目数据
- 访问有关工作流、执行和您的 n8n 环境的数据
- 帮助处理数据和时间的便利变量
有关更多信息,请参阅内置方法和变量。
在代码节点中使用 AI#
功能可用性
Code 节点中的 AI 辅助功能仅对 Cloud 用户可用。在自托管的 n8n 中不可用。
AI 生成的代码会覆盖您的代码
如果您已经在 代码 选项卡中编写了一些代码,AI 生成的代码将会替换它们。n8n 建议使用 AI 作为起点来创建您的初始代码,然后根据需要进行编辑。
在 Code 节点中使用 ChatGPT 生成代码:
- 在 Code 节点中,将 语言 设置为 JavaScript。
- 选择 询问 AI 选项卡。
- 编写您的查询。
- 选择 生成代码。n8n 将您的查询发送给 ChatGPT,然后在 代码 选项卡中显示结果。
🚀 与作者交流

📚 教程 💡 案例 🔧 技巧

⚡ 快答 🎯 定制 🚀 支持