节点文件结构
在节点结构中遵循最佳实践与标准,可以让节点更容易维护,也便于其他人参与代码开发。
节点的文件与目录结构取决于:
- 节点的复杂程度。
- 是否使用节点版本控制。
- npm 软件包中包含多少个节点。
n8n 推荐使用 n8n-node 工具创建预期的节点文件结构。可按需自定义生成的脚手架,以满足更复杂的需求。
必需文件和目录
节点必须包含:
- 位于项目根目录的
package.json文件,每个 npm 模块都需要此文件。 - 包含节点代码的
nodes目录: - 包含凭据代码的
credentials目录。代码位于单个凭据文件中,文件名格式为<node-name>.credentials.ts,例如MyNode.credentials.ts。
模块化结构
可以将节点全部功能放在一个文件中,也可拆分为基础文件和其他模块,再由基础文件导入。除非节点非常简单,否则建议采用拆分方式。
基本模式是将各个操作拆分开,示例请参阅 GithubIssues 入门节点。
对于更复杂的节点,n8n 建议采用目录结构,可参考 Airtable 节点或 Microsoft Outlook 节点。
actions:包含代表各类资源的子目录。- 每个子目录应包含两类文件:
- 包含资源描述的索引文件,命名为
<resourceName>.resource.ts或index.ts。 - 操作文件
<operationName>.operation.ts。这些文件应有两个导出:操作的description和一个execute函数。
- 包含资源描述的索引文件,命名为
- 每个子目录应包含两类文件:
methods:可选目录,用于存放动态参数函数。transport:包含通信实现的目录。