选择您的节点构建方式#
n8n有两种节点构建风格:声明式和编程式。
对于大多数节点,您应该使用声明式风格。这种风格:
- 采用基于JSON的语法,编写更简单,引入错误的风险更低。
- 更具未来适应性。
- 支持与REST API集成。
编程风格更为冗长。以下情况必须使用编程风格:
- 触发器节点
- 任何非基于REST的节点。这包括需要调用GraphQL API的节点和使用外部依赖项的节点。
- 任何需要转换传入数据的节点。
- 完整版本控制。有关版本控制类型的更多信息,请参阅节点版本控制。
数据处理差异#
声明式与编程式风格的主要区别在于它们如何处理传入数据并构建API请求。编程式风格需要一个execute()方法,该方法读取传入数据和参数,然后构建请求。声明式风格则通过operations对象中的routing键来处理这个问题。有关节点参数和execute()方法的更多信息,请参阅Node base file。
语法差异#
为了理解声明式与编程式风格的区别,请比较以下两个代码片段。这个例子创建了一个简化版的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 | |