Phát triển các nút tùy chỉnh cho quy trình làm việc của N8N
Hiểu N8N
N8N là một công cụ tự động hóa dòng công việc nguồn mở mạnh mẽ cho phép người dùng kết nối các dịch vụ khác nhau một cách liền mạch. Người dùng có thể xây dựng quy trình công việc bằng cách liên kết các nút, đại diện cho các dịch vụ hoặc hành động khác nhau. Mặc dù N8N cung cấp một loạt các nút tích hợp phục vụ cho nhiều ứng dụng, nhưng có những lúc các nút tồn tại từ trước không đáp ứng các yêu cầu cụ thể. Đây là nơi các nút tùy chỉnh xuất hiện, cho phép các nhà phát triển tạo ra các giải pháp phù hợp với các nhu cầu hoạt động và tự động hóa khác nhau.
Điều kiện tiên quyết để phát triển nút tùy chỉnh
Trước khi lặn vào phát triển nút tùy chỉnh, hãy đảm bảo bạn đáp ứng các điều kiện tiên quyết sau:
- Hiểu về JavaScript: Kiến thức về JavaScript là điều cần thiết vì các quy trình công việc và nút tùy chỉnh N8N được viết chủ yếu bằng ngôn ngữ này.
- Làm quen với N8N: Hiểu biết cơ bản về các chức năng của N8N, các nút hiện có và cách thức hoạt động của công việc là quan trọng.
- Node.js và NPM: Cài đặt Node.js và NPM (Trình quản lý gói nút) rất quan trọng để sử dụng N8N và quản lý các gói.
Thiết lập môi trường phát triển
-
Sao chép kho lưu trữ N8N: Bắt đầu bằng cách nhân bản kho lưu trữ GitHub N8N, sẽ cung cấp khung cần thiết cho nút tùy chỉnh của bạn.
git clone https://github.com/n8n-io/n8n.git cd n8n
-
Cài đặt phụ thuộc: Sử dụng NPM để cài đặt các gói yêu cầu bằng cách chạy:
npm install
-
Tạo phiên bản phát triển cục bộ: Để kiểm tra nút tùy chỉnh của bạn, hãy chạy N8N cục bộ:
npm run dev
Cấu trúc nút tùy chỉnh của bạn
Quá trình tạo một nút tùy chỉnh liên quan đến một số bước chính:
-
Cấu trúc thư mục: Trong
packages/nodes-base/nodes/
Thư mục, tạo một thư mục mới cho nút tùy chỉnh của bạn. Đặt tên cho nó một cách khéo léo để phản ánh mục đích của nó. -
Xác định nút: Tạo a
YourCustomNode.node.ts
Tệp trong thư mục mới được tạo của bạn. Tệp này sẽ chứa logic chính cho nút tùy chỉnh của bạn, được định nghĩa là một lớp mở rộngIExecute
:import { IExecuteFunctions } from 'n8n-core'; import { INodeType, INodeTypeDescription } from 'n8n-workflow'; export class YourCustomNode implements INodeType { description: INodeTypeDescription = { displayName: 'Your Custom Node', name: 'yourCustomNode', icon: 'file:customNode.svg', group: ['transform'], version: 1, description: 'Description of your custom node', defaults: { name: 'Your Custom Node', color: '#1F1F1F', }, inputs: ['main'], outputs: ['main'], properties: [ // Define your node's properties here ], }; async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> { // Add the logic for your custom node here } }
-
Xác định thuộc tính: The
properties
Mảng trongdescription
Thuộc tính phác thảo các trường cấu hình cho người dùng. Bạn có thể bao gồm các loại trường khác nhau như chuỗi, số, booleans và enums.Ví dụ định nghĩa tài sản:
properties: [ { displayName: 'Input Data', name: 'inputData', type: 'string', required: true, default: '', placeholder: 'Enter your data', description: 'The data that will be processed.', }, ],
Thực hiện phương thức thực thi
Các execute
Phương pháp là nơi logic cốt lõi cho nút của bạn được thực hiện. Sử dụng this.getInputData()
Phương pháp lấy dữ liệu từ các nút trước đó và xử lý nó phù hợp.
Thực hiện ví dụ:
async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
const inputData = this.getInputData();
const outputData: INodeExecutionData[] = [];
for (let i = 0; i < inputData.length; i++) {
const data = inputData[i].json;
// Process the input data as needed
outputData.push({
json: {
result: `Processed: ${data.inputData}`,
},
});
}
return [outputData];
}
Thêm nút vào N8N
Khi nút tùy chỉnh của bạn được xác định và triển khai, bạn cần đăng ký nút với N8N. Trong NodeTypes.ts
Tệp nằm trong nodes-base
thư mục, nhập nút tùy chỉnh của bạn và thêm nó vào NodeTypes
lớp học:
import { YourCustomNode } from './yourCustomNode/YourCustomNode.node';
export class NodeTypes {
static getAll() {
return {
yourCustomNode: new YourCustomNode(),
// other nodes
};
}
}
Kiểm tra nút tùy chỉnh của bạn
Chạy N8N cục bộ và mở UI biên tập. Nút tùy chỉnh của bạn sẽ xuất hiện trong danh sách nút. Tạo một quy trình công việc bằng cách sử dụng nút của bạn, đảm bảo nó hoạt động như mong đợi. Sử dụng nhật ký console để gỡ lỗi bất kỳ vấn đề nào phát sinh trong giai đoạn này.
Xuất bản nút tùy chỉnh của bạn
Khi nút tùy chỉnh của bạn đầy đủ chức năng và được kiểm tra, bạn có thể muốn xuất bản nó để sử dụng rộng hơn. Bạn có thể xem xét đóng góp nó trở lại kho lưu trữ N8N hoặc đóng gói nó dưới dạng mô -đun NPM. Để xuất bản:
-
Tạo một kho lưu trữ mới hoặc sử dụng cái hiện tại của bạn.
-
Thêm siêu dữ liệu và tài liệu cần thiết.
-
Xuất bản lên NPM bằng cách sử dụng:
npm publish
Thực tiễn tốt nhất để phát triển nút tùy chỉnh
- Tài liệu: Duy trì tài liệu toàn diện cho nút tùy chỉnh của bạn, giải thích chức năng, cấu trúc đầu vào/đầu ra của nó và quy trình công việc ví dụ.
- Xử lý lỗi: Thực hiện xử lý lỗi mạnh mẽ trong nút của bạn để đảm bảo thất bại duyên dáng và cung cấp các thông điệp hữu ích cho người dùng.
- Kiểm soát phiên bản: Sử dụng điều khiển phiên bản để quản lý các bản cập nhật và thay đổi cho nút của bạn một cách hiệu quả.
Tối ưu hóa SEO
Đảm bảo rằng bài viết của bạn được tối ưu hóa SEO bằng cách bao gồm các từ khóa có liên quan đến N8N, các nút tùy chỉnh, tự động hóa quy trình công việc và phát triển. Sử dụng các tiêu đề, điểm đạn và hình ảnh (nếu có) để cải thiện khả năng đọc và tham gia cho người dùng. Bao gồm các thẻ siêu dữ liệu và sử dụng dữ liệu lược đồ khi có thể tăng cường khả năng hiển thị tìm kiếm.
Suy nghĩ cuối cùng
Phát triển các nút tùy chỉnh cho các quy trình công việc N8N có thể tăng cường đáng kể khả năng tự động hóa của bạn, cho phép các giải pháp phù hợp đáp ứng nhu cầu độc đáo của bạn. Bằng cách tuân theo các quy trình phát triển có cấu trúc và tuân thủ các thực tiễn tốt nhất, bạn có thể tạo các nút mạnh mẽ, có thể tái sử dụng để cải thiện năng suất trên các quy trình công việc.