代码节点常见问题#
以下是代码节点的一些常见错误和问题以及解决或故障排除的步骤。
代码未正确返回项目#
当代码节点中的代码未以预期格式返回数据时,会发生此错误。
在 n8n 中,节点之间传递的所有数据都是对象数组。每个对象都包装了另一个带有 json
键的对象:
1 2 3 4 5 6 7 |
|
要排除此错误,请检查以下内容:
'json' 属性不是对象#
当代码节点返回的数据中 json
键未指向对象时,会发生此错误。
如果将 json
设置为不同的数据结构(如数组),可能会发生这种情况:
1 2 3 4 5 6 7 |
|
要解决此问题,请确保 json
键在返回数据中引用一个对象:
1 2 3 4 5 6 7 |
|
代码未返回对象#
当代码节点未返回任何内容或返回意外结果时,可能会发生此错误。
要解决此问题,请确保代码节点返回预期的数据结构:
1 2 3 4 5 6 7 |
|
如果提供的代码返回 'undefined'
而不是预期结果,也可能会发生此错误。在这种情况下,请确保在代码节点中引用的数据在每次执行中都存在,并且具有代码所预期的结构。
'import' 和 'export' 只能出现在顶级#
如果尝试在代码节点中使用 import
或 export
,会发生此错误。n8n 的 JavaScript 沙箱不支持这些功能。相反,请使用 require
函数来加载模块。
要解决此问题,请尝试将 import
语句更改为使用 require
:
1 2 3 4 |
|
找不到模块 '<module>'#
如果尝试在代码节点中使用 require
而 n8n 找不到模块,会发生此错误。
仅适用于自托管
n8n 在云版本中不支持导入模块。
如果你正在自托管 n8n,请按照以下步骤操作:
- 将模块安装到你的 n8n 环境中。
- 设置
NODE_FUNCTION_ALLOW_BUILTIN
和NODE_FUNCTION_ALLOW_EXTERNAL
环境变量以允许导入模块。
使用全局变量#
有时你可能希望在执行期间和执行之间设置和检索与工作流相关的简单全局数据。例如,在编译包含项目更新列表的报告时,你可能希望包含上一份报告的日期。
要直接向工作流设置、更新和检索数据,请在代码中使用静态数据函数。你可以全局管理数据或将数据绑定到特定节点。
尽可能使用去重功能
如果你有兴趣使用变量来避免多次处理相同的数据项,请考虑使用去重节点。去重节点可以跨执行保存信息,以避免多次处理相同的项目。
🚀 与作者交流

📚 教程 💡 案例 🔧 技巧

⚡ 快答 🎯 定制 🚀 支持