Thẻ: tùy chỉnh

  • n8n cho các nhà phát triển: mở rộng chức năng với mã tùy chỉnh

    n8n cho các nhà phát triển: mở rộng chức năng với mã tùy chỉnh

    n8n cho các nhà phát triển: mở rộng chức năng với mã tùy chỉnh

    Hiểu N8N

    N8N là một công cụ tự động hóa quy trình công việc nguồn mở mạnh mẽ cho phép các nhà phát triển tạo ra quy trình công việc bằng cách kết nối các API và dịch vụ khác nhau. Không giống như nhiều công cụ tự động hóa truyền thống, N8N cung cấp sự linh hoạt rộng rãi với khả năng thực hiện mã của nó. Được xây dựng cho các nhà phát triển, nó cho phép kết hợp tự động hóa và mã tùy chỉnh, cho phép tích hợp tinh vi có thể thích ứng với bất kỳ trường hợp sử dụng nào.

    Thiết lập N8N

    Để bắt đầu sử dụng N8N, các nhà phát triển có thể triển khai nó bằng Docker, NPM hoặc trực tiếp thông qua Dịch vụ đám mây N8N. Mỗi phương thức cho phép các nhà phát triển tùy chỉnh thiết lập của họ theo nhu cầu và tài nguyên của họ.

    • Cài đặt Docker: Sử dụng Docker là một cách hiệu quả để thiết lập N8N trong môi trường container, đảm bảo khả năng mở rộng và quản lý dễ dàng. Lệnh phổ biến nhất để bắt đầu là:

      docker run -d -p 5678:5678 --name n8n n8nio/n8n
    • Cài đặt NPM: Đối với các nhà phát triển thích thiết lập cục bộ, việc cài đặt N8N qua NPM cung cấp khả năng sử dụng các gói và thư viện Node.js một cách liền mạch. Sử dụng các lệnh sau:

      npm install n8n -g
      n8n
    • Đám mây N8N: N8N cũng cung cấp một phiên bản đám mây, trong đó tóm tắt sự phức tạp của thiết lập và bảo trì. Điều này đặc biệt hữu ích cho những người chỉ tập trung vào việc xây dựng quy trình công việc mà không quản lý cơ sở hạ tầng máy chủ.

    Tạo quy trình công việc

    Trình chỉnh sửa trực quan của N8N cung cấp cho người dùng một giao diện trực quan để tạo quy trình công việc. Mỗi quy trình công việc bao gồm các nút, đại diện cho các nhiệm vụ hoặc chức năng khác nhau trong quy trình công việc. Nhiệm vụ có thể bao gồm các yêu cầu HTTP, thực thi các chức năng hoặc xử lý thao tác dữ liệu.

    Các nút thường được sử dụng

    • Nút yêu cầu HTTP: Cho phép giao tiếp với API bên ngoài.
    • Nút chức năng: Đây là nơi mã tùy chỉnh phát huy tác dụng, cho phép các nhà phát triển chạy mã JavaScript để thực hiện các tác vụ hoặc biến đổi mở rộng trên dữ liệu.
    • Đặt nút: Giúp xác định hoặc sửa đổi dữ liệu được truyền giữa các nút.

    Viết mã tùy chỉnh bằng N8N

    Sức mạnh độc đáo của N8N là khả năng tích hợp mã tùy chỉnh một cách liền mạch vào quy trình công việc. Điều này cho phép bạn tăng cường chức năng hiện có, thực hiện logic phức tạp hoặc thao tác dữ liệu theo những cách mà các nút được xác định trước không thể.

    Các nút chức năng

    Nút chức năng là một cách chính để giới thiệu mã JavaScript tùy chỉnh. Các nhà phát triển có thể viết JavaScript không đồng bộ để thao tác dữ liệu của quy trình công việc. Dưới đây là sự cố về cách sử dụng nút chức năng một cách hiệu quả:

    1. Truy cập dữ liệu đầu vào: Nút chức năng nhận đầu vào từ các nút trước có thể được truy cập thông qua items:

      items.forEach(item => {
          // access item data
      });
    2. Xử lý dữ liệu: Các nhà phát triển có thể chuyển đổi dữ liệu này bằng các hàm JavaScript tiêu chuẩn. Chẳng hạn, bạn có thể muốn ánh xạ một cấu trúc này sang cấu trúc khác:

      const newItems = items.map(item => {
          return {
              json: {
                  newField: item.json.oldField.toUpperCase(),
              },
          };
      });
      return newItems;
    3. Trở lại đầu ra: Sau khi xử lý, các nhà phát triển phải trả về dữ liệu đã sửa đổi.

    Sử dụng nút lệnh thực thi

    Đối với các trường hợp nâng cao hơn khi bạn cần gọi các thư viện bên ngoài, nút lệnh thực thi cho phép bạn chạy các tập lệnh trực tiếp từ dòng lệnh. Điều này đặc biệt hữu ích nếu các thư viện cụ thể không có sẵn trong môi trường N8N mặc định. Bạn có thể thực thi các lệnh shell, tập lệnh Python hoặc bất kỳ tập lệnh hỗ trợ nền tảng nào khác.

    Thư viện bên ngoài

    Các nhà phát triển thường cần nhiều chức năng hơn những gì môi trường JavaScript tích hợp cung cấp. N8N hỗ trợ tích hợp các gói NPM bên ngoài, cho phép các nhà phát triển sử dụng các thư viện đã được thiết lập để đơn giản hóa các điều khiển và chức năng của họ.

    1. Cài đặt thư viện bắt buộc: Nếu bạn đang làm việc với một thư viện cụ thể, hãy đảm bảo bạn cài đặt nó trong phiên bản N8N hoặc container Docker.

      npm install your-library-name
    2. Sử dụng thư viện của bạn: Trong một nút chức năng hoặc thực thi nút lệnh, sau đó bạn có thể nhập và sử dụng thư viện cho nhu cầu xử lý của bạn.

    const library = require('your-library');
    
    const result = library.performFunction(items);
    return [{ json: { result } }];

    Cách tiếp cận này cho phép tận dụng hệ sinh thái rộng lớn của các gói Node.js, mở rộng khả năng của N8N rất nhiều.

    Các nút N8N tùy chỉnh

    Đối với các nhà phát triển muốn hợp lý hóa quy trình công việc của họ hơn nữa, việc tạo các nút tùy chỉnh là một tùy chọn mạnh mẽ. Bằng cách thiết kế các nút của bạn, bạn có thể gói gọn logic phức tạp và trình bày một giao diện sạch, có thể được sử dụng lại trên các quy trình công việc khác nhau.

    Tạo nút tùy chỉnh từng bước

    1. Thiết lập môi trường: Đảm bảo bạn đang làm việc trong môi trường Node.js và đã cài đặt N8N dưới dạng phụ thuộc dự án.

    2. Cấu trúc thư mục: Tạo một thư mục mới cho nút tùy chỉnh của bạn và trong đó, xác định một cấu trúc như vậy:

      my-custom-node/
      ├── src/
      │   ├── MyNode.ts
      ├── package.json
    3. Định nghĩa nút: Trong của bạn MyNode.ts Tệp, xác định các thuộc tính của nút, bao gồm các tham số đầu vào và đầu ra, phương thức thực thi và bất kỳ hành vi tùy chỉnh nào bạn muốn thực thi.

    4. Xây dựng và kiểm tra: Sau khi mã hóa, xây dựng và liên kết nút tùy chỉnh của bạn với phiên bản N8N của bạn để kiểm tra nó bằng giao diện N8N.

    Gỡ lỗi quy trình công việc

    Gỡ lỗi là rất quan trọng khi làm việc với mã tùy chỉnh trong N8N. Các nhà phát triển có thể sử dụng ghi nhật ký tích hợp và các công cụ được cung cấp trong nền tảng để bước qua các quy trình công việc.

    1. Logger: Sử dụng console.log() Các câu lệnh trong các nút chức năng của bạn để theo dõi các thay đổi biến và tiến trình dòng chảy.

    2. Xử lý lỗi: Thực hiện các khối thử trong mã của bạn để xử lý các lỗi tiềm năng một cách duyên dáng. Điều này là rất quan trọng để ngăn ngừa sự cố quy trình làm việc.

    Tích hợp với các dịch vụ khác

    Khả năng tương tác của N8N với hơn 200 nút có nghĩa là nó có thể tích hợp dễ dàng với các ứng dụng khác như cơ sở dữ liệu, CRMS, v.v. Sử dụng API REST, các nhà phát triển có thể tạo các ứng dụng điều khiển sự kiện phức tạp.

    1. Các nút webhook: Thiết lập các nút Webhook để kích hoạt quy trình công việc dựa trên các sự kiện từ các ứng dụng khác, chẳng hạn như đăng ký người dùng mới hoặc cập nhật dữ liệu đến.

    2. Xác thực API: Sử dụng OAuth2, khóa API hoặc tích hợp Auth cơ bản để tương tác an toàn với các dịch vụ của bên thứ ba, đảm bảo xử lý dữ liệu an toàn và tránh các lỗ hổng.

    Thực tiễn tốt nhất

    • Kiểm soát phiên bản: Sử dụng Git để kiểm soát phiên bản. Lưu trữ quy trình công việc và mã tùy chỉnh của bạn trong kho lưu trữ để theo dõi các thay đổi.
    • Tài liệu: Duy trì tài liệu kỹ lưỡng về quy trình công việc, nút được tạo và các tiêu chuẩn mã hóa để đảm bảo rằng cả bạn và nhóm của bạn có thể dễ dàng theo dõi các dự án.
    • Bảo vệ: Hãy chú ý xử lý dữ liệu, đặc biệt là khi làm việc với thông tin nhạy cảm. Vệ sinh đầu vào và đầu ra trong khi tuân theo thực tiễn bảo mật tốt nhất.

    Kết luận – Tối ưu hóa hiệu suất quy trình công việc

    Để tối ưu hóa hiệu suất và nâng cao chức năng của tự động hóa do N8N cung cấp:

    • Sử dụng các nút kích hoạt: Giảm thiểu các thực thi không cần thiết bằng cách sử dụng các nút kích hoạt một cách hiệu quả.
    • Hạn chế dữ liệu trong đầu vào: Chỉ truyền dữ liệu bạn yêu cầu ở mỗi nút để giảm tải xử lý.
    • Tối ưu hóa các cuộc gọi bên ngoài: Yêu cầu API hàng loạt khi có thể hoặc tổng hợp dữ liệu để giảm số lượng cuộc gọi bên ngoài được thực hiện trong quá trình thực hiện quy trình làm việc.

    Với các thực tiễn này, các nhà phát triển có thể tận dụng sức mạnh của N8N một cách hiệu quả để xây dựng các giải pháp tự động hóa có thể mở rộng, phù hợp với các nhu cầu kinh doanh cụ thể.

  • Cách tạo các nút tùy chỉnh trong N8N

    Cách tạo các nút tùy chỉnh trong N8N

    Hiểu N8N và các nút tùy chỉnh

    N8N là một công cụ tự động hóa dòng công việc nguồn mở cho phép người dùng kết nối các ứng dụng và dịch vụ khác nhau thông qua giao diện trực quan. Một trong những tính năng nổi bật của nó là khả năng tạo các nút tùy chỉnh, giúp tăng cường tính linh hoạt và chức năng. Trong hướng dẫn này, chúng tôi sẽ khám phá cách tạo các nút tùy chỉnh trong N8N, từng bước, đồng thời đảm bảo sự rõ ràng và khả năng tiếp cận.

    Điều kiện tiên quyết để tạo các nút tùy chỉnh

    Trước khi đi sâu vào quá trình tạo các nút tùy chỉnh, điều cần thiết là phải đảm bảo các điều kiện tiên quyết sau đây:

    1. Kiến thức cơ bản về JavaScript: Vì các nút N8N được viết theo kịch bản bằng JavaScript, nên sự quen thuộc với ngôn ngữ lập trình này là thuận lợi.
    2. Node.js đã cài đặt: Đảm bảo rằng Node.js được cài đặt trên hệ thống của bạn. Đó là môi trường mà N8N chạy bên trong.
    3. Truy cập vào một thể hiện N8N: Bạn nên có một phiên bản cục bộ hoặc đám mây của N8N được thiết lập (bạn có thể chạy nó bằng Docker hoặc cài đặt trực tiếp).
    4. Mã trình chỉnh sửa mã: Sử dụng Trình chỉnh sửa mã đơn giản như Visual Studio Code hoặc Sublime Text để có trải nghiệm mã hóa tốt hơn.

    Thiết lập môi trường phát triển của bạn

    1. Bản sao kho lưu trữ N8N:
      Để bắt đầu, chúng ta hãy sao chép kho lưu trữ GitHub N8N để truy cập vào thiết lập nút hiện có.

      git clone https://github.com/n8n-io/n8n.git
      cd n8n
    2. Cài đặt phụ thuộc:
      Cài đặt các phụ thuộc cần thiết bằng cách sử dụng NPM hoặc sợi.

      npm install
    3. Chạy N8N ở chế độ phát triển:
      Điều này cho phép bạn kiểm tra các nút tùy chỉnh của bạn khi bạn tạo chúng.

      npm run dev

    Tạo một nút tùy chỉnh mới

    Bước 1: Tạo thư mục nút của bạn

    Điều hướng đến packages/nodes-base/nodes Thư mục trong kho N8N và tạo một thư mục mới cho nút tùy chỉnh của bạn:

    mkdir MyCustomNode
    cd MyCustomNode

    Bước 2: Tạo các tệp nút

    Bạn sẽ cần ít nhất hai tệp để bắt đầu:

    1. Triển khai nút (mycustomnode.node.ts): Tệp này chứa logic cho hoạt động của nút.
    2. Mô tả nút (mycustomnode.node.json): Tệp JSON này mô tả các thuộc tính và cấu trúc của nút.

    Bước 3: Xác định mô tả nút

    Mở MyCustomNode.node.json Tệp trong trình soạn thảo của bạn và xác định các thuộc tính của nút tùy chỉnh của bạn. Đây là một cấu trúc mẫu:

    {
      "name": "My Custom Node",
      "icon": "file",
      "group": ["transform"],
      "version": 1,
      "description": "This is a custom node that performs XYZ functions.",
      "defaults": {
        "name": "My Custom Node",
        "color": "#FFB800"
      },
      "inputs": [],
      "outputs": [
        {
          "name": "main",
          "type": "output",
          "outputKey": "output_0",
          "description": "The output data"
        }
      ],
      "properties": [
        {
          "displayName": "Input Data",
          "name": "inputData",
          "type": "string",
          "default": "",
          "placeholder": "Enter your input data",
          "required": true
        }
      ]
    }

    Cấu trúc JSON này xác định tên, nhóm, đầu vào, đầu ra và thuộc tính của nút.

    Bước 4: Thực hiện logic nút

    Bây giờ, tạo ra MyCustomNode.node.ts Tệp và thực hiện chức năng của nút:

    import { IExecuteFunctions } from 'n8n-core';
    import { INodeType, INodeTypeDescription } from 'n8n-workflow';
    
    export class MyCustomNode implements INodeType {
        description: INodeTypeDescription = {
            displayName: 'My Custom Node',
            name: 'myCustomNode',
            group: ['transform'],
            version: 1,
            description: 'This is a custom node that performs XYZ functions.',
            defaults: {
                name: 'My Custom Node',
                color: '#FFB800',
            },
            inputs: ['main'],
            outputs: ['main'],
            properties: [
                {
                    displayName: 'Input Data',
                    name: 'inputData',
                    type: 'string',
                    default: '',
                    placeholder: 'Enter your input data',
                    required: true,
                },
                {
                    displayName: 'Output Data',
                    name: 'outputData',
                    type: 'string',
                    default: 'Result will be shown here',
                    placeholder: 'Output generated from input',
                    required: true,
                },
            ],
        };
    
        async execute(this: IExecuteFunctions): Promise<void> {
            const inputData = this.getNodeParameter('inputData', 0) as string;
            const outputData = `Processed: ${inputData}`;
            this.prepareOutputData([{ json: { outputData } }]);
        }
    }

    Kiểm tra nút tùy chỉnh của bạn

    1. Đăng ký nút của bạn: Thêm nút mới được tạo của bạn vào packages/nodes-base/nodes/index.ts tài liệu.

       import { MyCustomNode } from './MyCustomNode/MyCustomNode.node';
       NodeClassRegistry.registerType(MyCustomNode);
    2. Bắt đầu phiên bản N8N của bạn: Với nút mới được tạo, khởi động lại N8N để tải các thay đổi.

    3. Sử dụng nút trong quy trình làm việc:
      Mở giao diện người dùng N8N trong trình duyệt của bạn, tạo một quy trình làm việc mới và thêm nút tùy chỉnh của bạn. Bây giờ nó sẽ được nhìn thấy trong bảng điều khiển nút.

    4. Chức năng kiểm tra: Kết nối nút của bạn với các nút khác trong luồng có thể sử dụng để kiểm tra nó. Dữ liệu đầu vào và kiểm tra đầu ra như được xác định.

    Ghi lại nút của bạn

    Tài liệu thích hợp là điều cần thiết cho khả năng duy trì và khả năng sử dụng của nút tùy chỉnh của bạn. Bạn nên tạo tệp readme trong thư mục của nút với cấu trúc sau:

    1. Tổng quan: Chi tiết những gì nút tùy chỉnh của bạn làm.
    2. Cài đặt: Giải thích cách người dùng có thể thêm nút của bạn vào thể hiện N8N của họ.
    3. Hướng dẫn sử dụng: Cung cấp hướng dẫn từng bước về cách sử dụng nút tùy chỉnh của bạn trong quy trình công việc.
    4. Ví dụ: Bao gồm các trường hợp sử dụng khác nhau cho thấy tính linh hoạt của nút.

    Những cạm bẫy phổ biến để tránh

    1. Bỏ qua xử lý lỗi: Thực hiện xử lý lỗi trong triển khai nút của bạn để quản lý các lỗi đầu vào hoặc hoạt động bất ngờ.
    2. Tài liệu không đầy đủ: Luôn duy trì tài liệu kỹ lưỡng, vì nó hỗ trợ cả bạn và những người khác có thể sử dụng nút tùy chỉnh của bạn.
    3. Cân nhắc hiệu suất: Đảm bảo nút của bạn hoạt động hiệu quả; Sự phức tạp không cần thiết có thể làm chậm quy trình làm việc.

    Các tính năng và chức năng nâng cao

    Khi thoải mái với việc tạo các nút tùy chỉnh cơ bản, hãy xem xét khám phá các chức năng nâng cao hơn:

    1. Tích hợp API: Tích hợp API bên ngoài trực tiếp trong các nút của bạn.
    2. Chuyển đổi dữ liệu: Bao gồm logic phức tạp hơn để thao tác dữ liệu trước khi xuất nó.
    3. Xác thực đầu vào của người dùng: Thực thi xác thực chặt chẽ hơn trên đầu vào của người dùng để giảm thiểu lỗi.

    Duy trì và cập nhật nút tùy chỉnh của bạn

    Khi N8N phát triển, điều cần thiết là giữ cho nút tùy chỉnh của bạn được cập nhật:

    1. Thường xuyên kiểm tra các thay đổi API: Nếu nút của bạn giao diện với API bên ngoài, hãy để mắt đến tài liệu cho các thay đổi có thể ảnh hưởng đến chức năng của nút của bạn.
    2. Giám sát phát hành N8N: Được thông báo về các bản cập nhật N8N để tận dụng các tính năng mới và duy trì khả năng tương thích.
    3. Phản hồi của người dùng: Nếu bạn phát hành nút của mình cho cộng đồng, hãy thu thập phản hồi của người dùng và kết hợp các cải tiến.

    Phần kết luận

    Tạo các nút tùy chỉnh trong N8N mở ra một loạt các khả năng để tự động hóa và tích hợp. Với sự hiểu biết vững chắc về JavaScript, sự quen thuộc với cấu trúc N8N và một chút sáng tạo, bạn có thể phát triển các nút giúp tăng cường đáng kể khả năng quy trình làm việc. Cho dù đối với các dự án cá nhân hoặc đóng góp của cộng đồng, quá trình xây dựng các nút tùy chỉnh không chỉ cải thiện cá nhân hóa trong tự động hóa mà còn thúc đẩy sự hiểu biết sâu sắc hơn về cách kết nối các hệ thống. Nắm bắt những thách thức và tận dụng những lợi ích mà các nút tùy chỉnh trong N8N hiện tại!

  • Xây dựng các nút tùy chỉnh trong N8N: Hướng dẫn cho các nhà phát triển

    Xây dựng các nút tùy chỉnh trong N8N: Hướng dẫn cho các nhà phát triển

    Xây dựng các nút tùy chỉnh trong N8N: Hướng dẫn cho các nhà phát triển

    Hiểu N8N

    N8N là một công cụ tự động hóa nguồn mở cho phép người dùng kết nối các dịch vụ và ứng dụng khác nhau thông qua các quy trình công việc. Nó vượt trội về tính linh hoạt và khả năng mở rộng của nó, cho phép các nhà phát triển và người dùng doanh nghiệp tự động hóa các tác vụ lặp đi lặp lại một cách hiệu quả. Một trong những tính năng nổi bật của N8N là khả năng tạo các nút tùy chỉnh, cho phép người dùng mở rộng các khả năng của N8N ngoài các nút được xây dựng sẵn có sẵn trong nền tảng.

    Các nút tùy chỉnh là gì?

    Các nút tùy chỉnh trong N8N là các hàm do người dùng xác định tương tác với API hoặc các nguồn dữ liệu khác có thể không được bao phủ bởi các nút hiện có. Bằng cách xây dựng một nút tùy chỉnh, các nhà phát triển có thể gói gọn logic phức tạp, thực hiện các chuyển đổi dữ liệu độc đáo và tích hợp liền mạch với quy trình công việc của họ. Các nút tùy chỉnh tạo điều kiện giao tiếp giữa N8N và các dịch vụ web hoặc cơ sở dữ liệu khác, làm cho nó trở thành một thành phần quan trọng trong các dự án tự động hóa.

    Thiết lập môi trường phát triển của bạn

    Trước khi lặn vào việc tạo các nút tùy chỉnh, bạn cần thiết lập môi trường phát triển của mình. Đây là các bước thiết yếu:

    1. Cài đặt Node.js: Đảm bảo bạn đã cài đặt Node.js. N8N tương thích với Node.js phiên bản 14 trở lên.

      # Check your Node.js version
      node -v
    2. Sao chép kho lưu trữ N8N: Kho lưu trữ github N8N chứa tất cả các tệp cần thiết để phát triển các nút tùy chỉnh.

      git clone https://github.com/n8n-io/n8n.git
      cd n8n
    3. Cài đặt phụ thuộc: Chạy lệnh sau để cài đặt tất cả các gói yêu cầu.

      npm install
    4. Chạy N8N: Bắt đầu N8N ở chế độ phát triển để kiểm tra các nút tùy chỉnh của bạn.

      npm run start

    Tạo một nút tùy chỉnh

    Tạo một nút tùy chỉnh đòi hỏi phải hiểu cấu trúc của các nút N8N và sử dụng các giao diện và lớp cần thiết do N8N cung cấp.

    Bước 1: Xác định cấu trúc nút

    Điều hướng đến thư mục của nút tùy chỉnh, thường được đặt tại packages/nodes-base/nodesvà tạo một thư mục mới cho nút tùy chỉnh của bạn:

    mkdir MyCustomNode
    cd MyCustomNode

    Tạo một tệp được gọi là MyCustomNode.node.ts. Đây là nơi logic và thuộc tính của nút của bạn sẽ được xác định.

    Bước 2: Đặt thuộc tính nút

    Xác định các thuộc tính của nút của bạn để cho phép cấu hình. Ví dụ:

    import {
        INodeType,
        INodeTypeDescription,
    } from 'n8n-workflow';
    
    export class MyCustomNode implements INodeType {
        description: INodeTypeDescription = {
            displayName: 'My Custom Node',
            name: 'myCustomNode',
            icon: 'file:myCustomNode.svg',
            group: ['transform'],
            version: 1,
            description: 'This is a custom node for demo purposes.',
            defaults: {
                name: 'My Custom Node',
                color: '#007C92',
            },
            inputs: ['main'],
            outputs: ['main'],
            properties: [
                {
                    displayName: 'Input String',
                    name: 'inputString',
                    type: 'string',
                    default: '',
                },
                {
                    displayName: 'Number',
                    name: 'number',
                    type: 'number',
                    default: 0,
                }
            ],
        };
    }

    Bước 3: Triển khai logic nút

    Chức năng cốt lõi của nút tùy chỉnh của bạn nằm trong execute phương pháp. Mã này chỉ ra cách nút xử lý dữ liệu.

    async execute(this: IExecuteFunctions) {
        const inputString = this.getNodeParameter('inputString', 0);
        const number = this.getNodeParameter('number', 0);
    
        // Custom logic goes here
        const output = `${inputString} - Processed with a number: ${number}`;
        this.emit([this.helpers.returnJsonArray([{ result: output }])]);
    }

    Bước 4: Đăng ký nút trong N8N

    Để làm cho N8N biết về nút mới của bạn, bạn sẽ cần phải đăng ký nó. Mở packages/nodes-base/nodes/NodeTypes.tsvà thêm nút tùy chỉnh của bạn vào danh sách.

    import { MyCustomNode } from './MyCustomNode/MyCustomNode.node';
    
    new NodeTypesRegistry().register([
        MyCustomNode,
    ]);

    Bước 5: Kiểm tra nút của bạn

    Bây giờ nút tùy chỉnh được tạo và đăng ký, chạy N8N ở chế độ phát triển để kiểm tra.

    1. Điều hướng đến UI N8N.
    2. Tạo một quy trình công việc mới.
    3. Thêm nút tùy chỉnh của bạn từ bảng nút.
    4. Định cấu hình tham số và chạy nút của bạn để xác minh đầu ra.

    Thực tiễn tốt nhất để phát triển các nút tùy chỉnh

    1. Thực hiện theo các quy ước đặt tên của N8N

    Duy trì các quy ước đặt tên thích hợp là rất quan trọng cho khả năng sử dụng. Sử dụng Camelcase cho tên thuộc tính và tên riêng biệt rõ ràng cho các nút và tham số của bạn để ngăn chặn sự nhầm lẫn.

    2. Sử dụng giao diện TypeScript

    N8N được xây dựng trên TypeScript, cung cấp loại hỗ trợ an toàn và hỗ trợ công cụ tốt hơn. Xác định giao diện để cải thiện khả năng duy trì và khả năng đọc của mã nút tùy chỉnh của bạn.

    3. Thực hiện xử lý lỗi

    Đảm bảo thêm xử lý lỗi trong nút của bạn để nắm bắt và quản lý các ngoại lệ một cách duyên dáng. Sử dụng this.getNodeParameter Phương thức để xác nhận các tham số đầu vào.

    try {
        // Your logic here
    } catch (error) {
        this.throwError(error);
    }

    4. Ghi lại mã của bạn

    Nhận xét và tài liệu là cần thiết cho cả sự hiểu biết của bạn và cho các nhà phát triển trong tương lai, những người có thể làm việc trên nút của bạn. Thêm bình luận của JSDOC để mô tả các tham số và chức năng.

    /**
     * @returns {Promise<void>}
     */
    async execute() {
        // Implementation here
    }

    5. Giữ chức năng nút tập trung

    Mỗi nút tùy chỉnh nên nhắm đến một nhiệm vụ hoặc vai trò duy nhất. Cách tiếp cận mô -đun này đơn giản hóa quy trình công việc và khả năng tái sử dụng AIDS.

    Các tính năng nâng cao

    Tích hợp API bên ngoài

    Đôi khi, nút tùy chỉnh của bạn có thể cần giao tiếp với API bên ngoài. Sử dụng axios hoặc fetch để thực hiện các yêu cầu HTTP.

    import axios from 'axios';
    
    const response = await axios.get('https://api.example.com/data');

    Xác thực

    Nếu nút của bạn cần tương tác với API yêu cầu xác thực, bạn có thể xác định các phương thức xác thực trong cấu hình nút của mình.

    authentication: {
        type: 'httpHeader',
        properties: [
            {
                displayName: 'Access Token',
                name: 'accessToken',
                type: 'string',
                required: true,
            }
        ],
    }

    Cài đặt nút tùy chỉnh

    Mở rộng nút của bạn với các cài đặt bổ sung để tinh chỉnh việc sử dụng. Ví dụ: cho phép phân trang bằng cách cho phép người dùng chỉ định trang nào về kết quả để trả về.

    properties: [
        {
            displayName: 'Page Number',
            name: 'page',
            type: 'number',
            default: 1,
        },
    ]

    Phiên bản và khả năng tương thích ngược

    Khi bạn phát triển nút tùy chỉnh của mình, hãy xem xét phiên bản ngữ nghĩa để truyền đạt các thay đổi một cách hiệu quả. Duy trì khả năng tương thích ngược khi thích hợp để tránh phá vỡ các quy trình công việc hiện có phụ thuộc vào nút của bạn.

    Xuất bản nút tùy chỉnh của bạn

    Khi sẵn sàng, bạn có thể chia sẻ nút tùy chỉnh của bạn với cộng đồng. Thực hiện theo các bước sau:

    1. Ghi lại nút của bạn: Cung cấp tài liệu rõ ràng về cách cài đặt và sử dụng nút tùy chỉnh của bạn.
    2. Gói mã của bạn: Sử dụng các công cụ như npm Để đóng gói nút của bạn để phân phối.
    3. Xuất bản sang GitHub hoặc NPM: Làm cho nút tùy chỉnh của bạn có thể truy cập được cho người khác bằng cách xuất bản nó lên các nền tảng như GitHub hoặc NPM.

    Tóm lại, các khả năng với N8N và các nút tùy chỉnh hầu như không giới hạn. Với hướng dẫn này, bạn nên được trang bị để tạo, kiểm tra và chia sẻ các nút tùy chỉnh của mình, mở rộng khả năng sử dụng của N8N như một công cụ tự động hóa. Nắm bắt sức mạnh của tự động hóa bằng cách xây dựng các giải pháp phù hợp với nhu cầu cụ thể của bạn và chia sẻ những khám phá của bạn với cộng đồng N8N để truyền cảm hứng cho sự đổi mới hơn nữa.