Build và đóng gói
Sau khi phát triển Plugin xong, bạn cần qua hai bước build (biên dịch source code) và đóng gói (tạo .tgz) thì mới có thể phân phối sang ứng dụng NocoBase khác để sử dụng.
Build Plugin
Build sẽ biên dịch source code TypeScript trong src/ thành JavaScript — code client được đóng gói bằng Rsbuild, code server được đóng gói bằng tsup:
Sản phẩm build sẽ được output vào thư mục dist/ ở thư mục gốc của Plugin.
Nếu Plugin được tạo trong repo source code, lần build đầu tiên sẽ kích hoạt type check toàn repo, có thể mất khá nhiều thời gian. Hãy đảm bảo dependency đã được cài đặt và repo ở trạng thái build được.
Đóng gói Plugin
Đóng gói sẽ nén sản phẩm build thành một file .tgz, thuận tiện cho việc upload sang môi trường khác:
File đóng gói mặc định được output vào thư mục storage/tar/, với tên file là <tên-package>-<phiên-bản>.tgz, ví dụ storage/tar/@my-project/plugin-hello-0.1.0.tgz.
Bạn cũng có thể dùng tham số --tar để gộp build và đóng gói thành một bước:
Upload sang ứng dụng NocoBase khác
Upload và giải nén file .tgz vào thư mục ./storage/plugins của ứng dụng đích. Các bước chi tiết xem tại Cài đặt và nâng cấp Plugin.
Nếu ứng dụng đích được tạo bằng NocoBase CLI (nb init), bạn cũng có thể dùng trực tiếp nb plugin import để import mà không cần giải nén thủ công:
Tự động kích hoạt Plugin sau khi upload
Sau khi upload, Plugin mặc định sẽ không được tự động kích hoạt — nó sẽ xuất hiện trong "Trình quản lý Plugin" và cần bạn bật thủ công. Nếu bạn đang duy trì ứng dụng NocoBase của riêng mình và muốn Plugin được kích hoạt mặc định cùng với ứng dụng, bạn có thể dùng biến môi trường APPEND_PRESET_BUILT_IN_PLUGINS (Thêm Plugin tích hợp mặc định) để kiểm soát, xem cách dùng tại Đặt Plugin thành mặc định hoặc tự động kích hoạt.
Cấu hình build tùy chỉnh
Thường thì cấu hình build mặc định là đủ dùng. Nếu bạn cần tùy chỉnh — như sửa entry đóng gói, thêm alias, điều chỉnh tùy chọn nén, v.v. — bạn có thể tạo file build.config.ts trong thư mục gốc Plugin:
Một vài điểm chính:
modifyRsbuildConfig— Dùng để điều chỉnh đóng gói client, ví dụ thêm Rsbuild plugin, sửa resolve alias, điều chỉnh chiến lược code splitting, v.v. Tham số cấu hình tham khảo tài liệu RsbuildmodifyTsupConfig— Dùng để điều chỉnh đóng gói server, ví dụ sửa target, externals, entry, v.v. Tham số cấu hình tham khảo tài liệu tsupbeforeBuild/afterBuild— Hook trước và sau build, nhận một hàmlogđể output log. Ví dụ trongbeforeBuildsinh một số file code, trongafterBuildcopy tài nguyên tĩnh sang thư mục sản phẩm
Liên kết liên quan
- Viết Plugin đầu tiên — Tạo Plugin từ đầu, bao gồm quy trình build và đóng gói hoàn chỉnh
- Cấu trúc thư mục dự án — Tìm hiểu chức năng của các thư mục
packages/plugins,storage/tar, v.v. - Quản lý dependency — Khai báo dependency của Plugin và dependency toàn cục
- Tổng quan phát triển Plugin — Giới thiệu tổng thể về phát triển Plugin
- Cài đặt và nâng cấp Plugin — Upload file đóng gói sang môi trường đích
- Biến môi trường — Cấu hình biến môi trường cho Plugin preset, Plugin tích hợp, v.v.

