选择节点构建方式#
n8n 提供两种节点构建风格:声明式和编程式。
大多数节点应使用声明式风格。这种风格:
- 采用基于 JSON 的语法,编写更简单,引入错误的风险更低
- 更具未来兼容性
- 支持与 REST API 集成
编程式风格更为冗长。以下情况必须使用编程式风格:
- 触发器节点
- 任何非基于 REST 的节点。包括需要调用 GraphQL API 的节点和使用外部依赖项的节点
- 需要转换输入数据的节点
- 完整版本控制。有关版本控制类型的更多信息,请参阅节点版本控制
数据处理差异#
声明式与编程式风格的主要区别在于它们如何处理输入数据和构建 API 请求。编程式风格需要 execute()
方法,该方法读取输入数据和参数,然后构建请求。声明式风格则使用 operations
对象中的 routing
键来处理这一过程。有关节点参数和 execute()
方法的更多信息,请参阅节点基础文件。
语法差异#
为了理解声明式(declarative)和编程式(programmatic)风格的区别,请比较以下两个代码片段。这个示例创建了一个简化版的SendGrid集成,名为"FriendGrid"。以下代码片段并不完整,主要突出展示节点构建风格的差异。
编程式风格:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
|
声明式风格:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
|