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 .tar.gz) 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 .tar.gz, 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 storage/tar/@my-project/plugin-hello.tar.gz.
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 .tar.gz 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.
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

