节点文件结构#
遵循节点结构中的最佳实践和标准能使您的节点更易于维护。当其他开发者需要参与代码开发时,规范的代码结构将提供极大便利。
节点的文件和目录结构取决于:
- 节点的复杂程度
- 是否使用节点版本控制
- npm包中包含的节点数量
n8n推荐使用 n8n-node 工具 创建符合规范的节点文件结构。您可以根据需要自定义生成的脚手架以满足更复杂的需求。
必需文件和目录#
节点必须包含:
- 项目根目录下的
package.json文件(每个npm模块均需此文件) - 存放节点代码的
nodes目录: - 存放凭证代码的
credentials目录,这些代码保存在独立的凭证文件中,文件格式为<节点名称>.credentials.ts,例如MyNode.credentials.ts
模块化结构#
您可以选择将节点所有功能集中在一个文件中,或拆分为基础文件与导入模块。除非节点非常简单,否则推荐采用拆分方案。
基础模式是按操作进行分离,可参考 HttpBin 入门节点 的示例。
对于复杂节点,建议采用目录结构,可参阅 Airtable 节点 或 Microsoft Outlook 节点 的范例:
actions:包含资源子目录的目录- 每个子目录应包含两类文件:
- 带资源描述的索引文件(命名为
<资源名称>.resource.ts或index.ts) - 操作文件
<操作名称>.operation.ts,这些文件应包含两个导出项:操作描述description和执行函数execute
methods:存放动态参数函数的可选目录transport:包含通信实现逻辑的目录
版本控制#
若节点存在多个版本且采用完整版本控制,文件结构会更为复杂。每个版本都需要独立目录,并需设置指定默认版本的基础文件。有关版本控制(包括版本类型)的详细信息,请参阅节点版本控制。
确定包中包含的节点数量#
构建节点时有两种配置方案:
- 一个npm包包含单个节点
- 一个npm包包含多个节点
n8n支持这两种方案。若包含多个节点,每个节点应在 nodes 目录中拥有独立目录。
编程式节点最佳实践示例#
n8n内置的 Airtable 节点 采用模块化结构和版本控制,是实践推荐模式的典型范例。
此页面是否
有帮助
没有帮助
感谢你的反馈!
提交
返回顶部