节点文件结构#
遵循节点结构中的最佳实 践和标准能使您的节点更易于维护。当其他开发者需要参与代码开发时,规范的代码结构将提供极大便利。
节点的文件和目录结构取决于:
- 节点的复杂程度
- 是否使用节点版本控制
- 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:包含通信实现逻辑的目录