Trình bổ trợ

Trình bổ trợ là một đoạn mã độc lập có chức năng bổ sung cho Blockly. Ví dụ: lớp này có thể thêm một trường tuỳ chỉnh, xác định một giao diện mới hoặc cung cấp trình kết xuất tuỳ chỉnh. Trình bổ trợ thường được đóng gói và phân phối thông qua npm.

Để biết thông tin giới thiệu nhanh về trình bổ trợ, hãy xem buổi nói chuyện Tổng quan về trình bổ trợ (2021) của chúng tôi.

Nếu bạn muốn tạo trình bổ trợ của riêng mình, hãy xem phần Thêm trình bổ trợ.

Trình bổ trợ của bên thứ nhất và bên thứ ba

Trình bổ trợ của bên thứ nhất được nhóm Blockly hỗ trợ và phát hành trong phạm vi @blockly trên npm. Các hàm này được thiết kế để có thể sử dụng trong nhiều ứng dụng Blockly.

Trình bổ trợ của bên thứ ba được duy trì và phát hành một cách độc lập. Các hàm này có thể phức tạp hơn, mang tính thử nghiệm hơn hoặc nhắm đến một phạm vi ứng dụng Blockly hẹp hơn.

Tìm trình bổ trợ

Cài đặt trình bổ trợ

Bạn nên cài đặt trình bổ trợ bằng trình quản lý gói như npm hoặc yarn. Điều này giúp bạn dễ dàng nhận được thông tin cập nhật.

  • Cài đặt trình bổ trợ bằng trình quản lý gói

    npm

    npm install @blockly/field-angle
    

    chỉ len

    yarn add @blockly/field-angle
    
  • Cài đặt trình bổ trợ mà không cần trình quản lý gói

    unpkg

    <script src="https://unpkg.com/@blockly/field-angle"></script>
    

    Bạn cũng có thể sao chép kho lưu trữ GitHub chứa trình bổ trợ. Đối với các trình bổ trợ của bên thứ nhất, giá trị này là blockly-samples.

Kiểm tra tệp README của trình bổ trợ để xem có hướng dẫn cài đặt bổ sung nào không.

Sử dụng trình bổ trợ

Mỗi trình bổ trợ đều khác nhau, vì vậy, hãy xem README của trình bổ trợ để biết thông tin về cách sử dụng trình bổ trợ đó. Ví dụ sau đây cho thấy cách sử dụng trình bổ trợ @blockly/field-angle:

  1. Nhập mã từ trình bổ trợ. Cách thực hiện việc này tuỳ thuộc vào cách bạn cài đặt trình bổ trợ.

    npm hoặc yarn

    import Blockly from 'blockly';
    import {registerFieldAngle} from '@blockly/field-angle';
    

    unpkg

    Bạn không cần sử dụng câu lệnh import.

    Kho lưu trữ được nhân bản

    import {registerFieldAngle} from 'path/to/plugin';
    
  2. Khởi chạy trình bổ trợ nếu cần. Các trình bổ trợ cung cấp trường tuỳ chỉnh thường yêu cầu bạn đăng ký trường:

    registerFieldAngle();
    
  3. Sử dụng trình bổ trợ.

    Blockly.common.defineBlocksWithJsonArray([
      {
        type: "my_angle_block",
        message0: "%1 degrees",
        args0: [
          {
            // Use @blockly/field-angle.
            type: "field_angle",
            name: "FIELDNAME",
            value: 45,
          },
        ],
        output: null,
        style: 'math_blocks'
      },
    ]);
    

    Một trường để chọn góc từ một vòng quay 360 độ.

Phiên bản trình bổ trợ

Trình bổ trợ trong blockly-samples sử dụng định nghĩa phiên bản ngữ nghĩa, yêu cầu các thay đổi có thể gây lỗi để sử dụng phiên bản chính mới. Mọi trình bổ trợ mới mà bản vá monkey sửa lỗi lõi sẽ có phiên bản chính là 0 để cho biết quá trình phát triển ban đầu.

Hầu hết các trình bổ trợ đều bao gồm gói blockly dưới dạng peerDependency thay vì dependency. Điều này là do chúng tôi giả định rằng bạn đã cài đặt Blockly. (Không hợp lý khi sử dụng trình bổ trợ mà không sử dụng Blockly.) Điều này cho phép bạn tự quản lý phiên bản Blockly, nhưng cũng yêu cầu bạn kiểm tra package.json của trình bổ trợ để xác định phiên bản Blockly tối thiểu cần thiết. Nếu một trình bổ trợ được cập nhật để cần phiên bản Blockly mới hơn, thì đây được coi là thay đổi có thể gây lỗi và phiên bản chính của trình bổ trợ đó sẽ tăng lên.

Khi bạn thêm trình bổ trợ vào package.json của ứng dụng, theo mặc định, bạn sẽ thêm dấu mũi tên trước phiên bản:

"dependencies": {
  "@blockly/field-angle": "^5.0.12"
}

Điều này sẽ cho phép npm cài đặt mọi phiên bản phụ ở cấp hoặc cao hơn phiên bản được liệt kê, vì vậy, phiên bản 5.0.20 hoặc 5.1.0 sẽ hoạt động nhưng phiên bản chính mới như 6.0.1 sẽ không hoạt động. Khi cập nhật lên phiên bản Blockly mới, bạn nên kiểm tra xem có thể cập nhật bất kỳ trình bổ trợ nào lên phiên bản chính mới hay không.