节点文件结构
在节点结构中遵循最佳实践和标准,可以更轻松地维护节点。如果其他人需要使用代码,这将非常有帮助。
节点的文件和目录结构取决于:
- 您的节点的复杂性。
- 是否使用节点版本控制。
- 您在 npm 包中包含了多少个节点。
所需文件和目录
您的节点必须包括:
- 项目根目录下的文件。任何 npm 模块都需要它。
- 一个包含节点代码的目录:
- 此目录必须包含
- ,格式为
- 。例如,
- 。n8n
- 建议包含一个
- ,其中包含节点的元数据。codex 文件名必须与节点基本文件名匹配。例如,给定一个名为 的节点基本文件
- ,其 codex 名称为
- 。
- 该
- 目录可以包含其他文件和子目录,包括版本目录,以及拆分到多个文件中的节点代码,以创建模块化结构。
- 包含您的凭证代码的目录。此代码位于单个凭证文件中。文件名格式为。例如, 。
模块化结构
您可以选择将所有节点的功能放在一个文件中,或者将其拆分成一个基础文件和其他模块,然后由基础文件导入这些模块。除非您的节点非常简单,否则最好将其拆分。
一个基本模式是分离操作。请参阅
HttpBin 启动节点以获取相关示例。对于更复杂的节点,n8n 建议使用目录结构。请参阅
Airtable 节点或Microsoft Outlook 节点作为示例。- :包含代表资源的子目录的目录。
- 每个子目录应包含两种类型的文件:
- 一个包含资源描述的索引文件(名为 或
- )
- 以及
- 用于操作的文件
- 。这些文件应包含两个导出文件:
- 操作文件和
- 函数文件。
- :可选目录动态参数的功能。
- :包含通信实现的目录。
版本控制
如果您的节点有多个版本,并且您使用了完整版本控制,则文件结构会更加复杂。您需要为每个版本创建一个目录,以及一个设置默认版本的基础文件。有关使用版本的更多信息(包括版本控制类型),请参阅
Node 版本控制。确定包中包含多少个节点
构建节点时有两种可能的设置:
- 一个 npm 包中的一个节点。
- 单个 npm 包中有多个节点。
n8n 支持这两种方法。如果包含多个节点,则每个节点都应该在目录中拥有自己的目录。
程序化节点的最佳实践示例
n8n 的内置
Airtable 节点按照推荐的模式实现了模块化结构和版本控制。