logologo
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
logologo

เริ่มต้นใช้งานฉบับย่อ

บทนำ
การเขียนปลั๊กอินฟิลด์
Previous Pageบทนำ
TIP

เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ

#การพัฒนาปลั๊กอิน

#การพัฒนาปลั๊กอิน

เอกสารนี้จะอธิบายเกี่ยวกับการพัฒนาปลั๊กอินสำหรับ NocoBase ครับ/ค่ะ

#ปลั๊กอินคืออะไร?

ปลั๊กอินของ NocoBase คือโมดูลอิสระที่ประกอบด้วยฟังก์ชันและตรรกะเฉพาะตัว ซึ่งสามารถขยายความสามารถหลักของ NocoBase ได้ครับ/ค่ะ ปลั๊กอินสามารถรวมถึงโมเดล, อินเทอร์เฟซ, หน้าเพจ, สิทธิ์การเข้าถึง, เวิร์กโฟลว์, การตั้งค่า และอื่นๆ อีกมากมาย

ด้วยปลั๊กอิน คุณสามารถ:

  • ขยายฟังก์ชันการทำงาน: เพิ่มฟังก์ชันใหม่ๆ ให้กับ NocoBase เช่น แหล่งข้อมูลใหม่, วิธีการยืนยันตัวตนแบบใหม่, วิธีการจัดเก็บข้อมูลแบบใหม่ เป็นต้น
  • ปรับแต่งธุรกิจ: ปรับแต่งการทำงานของ NocoBase ให้เข้ากับความต้องการทางธุรกิจของคุณ เช่น ปรับแต่งโมเดลข้อมูล, การจัดวางหน้าเพจ, เวิร์กโฟลว์ เป็นต้น
  • ผสานรวมบริการ: เชื่อมต่อกับบริการภายนอก เช่น ระบบชำระเงิน, บริการ SMS, บริการอีเมล เป็นต้น

#ประเภทของปลั๊กอิน

ปลั๊กอินของ NocoBase แบ่งออกเป็นประเภทต่างๆ ดังนี้ครับ/ค่ะ:

  • ปลั๊กอินหลัก (Core Plugins): ปลั๊กอินที่พัฒนาและดูแลโดยทีมงานหลักของ NocoBase เพื่อให้ฟังก์ชันพื้นฐานของ NocoBase ครับ/ค่ะ
  • ปลั๊กอินจากชุมชน (Community Plugins): ปลั๊กอินที่นักพัฒนาในชุมชนมีส่วนร่วมในการสร้างสรรค์ ซึ่งนำเสนอการขยายฟังก์ชันการทำงานที่หลากหลายครับ/ค่ะ
  • ปลั๊กอินส่วนตัว (Private Plugins): ปลั๊กอินที่พัฒนาโดยองค์กรหรือบุคคลเพื่อตอบสนองความต้องการทางธุรกิจเฉพาะเจาะจงครับ/ค่ะ

#โครงสร้างของปลั๊กอิน

ปลั๊กอินของ NocoBase คือโฟลเดอร์ที่ประกอบด้วยโครงสร้างไฟล์และไดเรกทอรีที่เฉพาะเจาะจงครับ/ค่ะ โครงสร้างปลั๊กอินทั่วไปมีดังนี้:

my-plugin
├── src
│   ├── index.ts
│   ├── server
│   │   ├── models
│   │   ├── collections
│   │   ├── actions
│   │   ├── workflows
│   │   └── index.ts
│   └── client
│       ├── pages
│       ├── components
│       └── index.ts
├── package.json
├── README.md
└── .env
  • src/index.ts: ไฟล์เริ่มต้นของปลั๊กอิน ใช้สำหรับลงทะเบียนฟังก์ชันต่างๆ ของปลั๊กอินครับ/ค่ะ
  • src/server: โค้ดที่เกี่ยวข้องกับส่วนหลังบ้าน (backend) ซึ่งรวมถึงโมเดล, อินเทอร์เฟซ, เวิร์กโฟลว์ เป็นต้น
  • src/client: โค้ดที่เกี่ยวข้องกับส่วนหน้าบ้าน (frontend) ซึ่งรวมถึงหน้าเพจ, คอมโพเนนต์ เป็นต้น
  • package.json: ไฟล์การตั้งค่าของปลั๊กอิน ซึ่งประกอบด้วยข้อมูลต่างๆ เช่น ชื่อปลั๊กอิน, เวอร์ชัน, และการพึ่งพา (dependencies) ครับ/ค่ะ
  • README.md: เอกสารอธิบายปลั๊กอินครับ/ค่ะ
  • .env: ไฟล์การตั้งค่าสภาพแวดล้อมของปลั๊กอินครับ/ค่ะ

#วงจรชีวิตของปลั๊กอิน

วงจรชีวิตของปลั๊กอิน NocoBase ประกอบด้วยขั้นตอนต่างๆ ดังนี้ครับ/ค่ะ:

  • การติดตั้ง (Installation): การติดตั้งปลั๊กอินเข้าสู่ NocoBase
  • การเปิดใช้งาน (Enabling): การเปิดใช้งานปลั๊กอินเพื่อให้ฟังก์ชันการทำงานมีผล
  • การปิดใช้งาน (Disabling): การปิดใช้งานปลั๊กอินเพื่อให้ฟังก์ชันการทำงานไม่มีผล
  • การถอนการติดตั้ง (Uninstallation): การถอนปลั๊กอินออกจาก NocoBase

#ขั้นตอนการพัฒนาปลั๊กอิน

ขั้นตอนการพัฒนาปลั๊กอินของ NocoBase โดยทั่วไปจะประกอบด้วยหลายขั้นตอนดังนี้ครับ/ค่ะ:

  1. สร้างปลั๊กอิน: ใช้ NocoBase CLI เพื่อสร้างโปรเจกต์ปลั๊กอินใหม่
  2. พัฒนาฟังก์ชันการทำงาน: พัฒนาฟังก์ชันของปลั๊กอินตามความต้องการ ซึ่งรวมถึง API ฝั่ง backend, หน้าเพจฝั่ง frontend, โมเดลข้อมูล เป็นต้น
  3. ทดสอบปลั๊กอิน: ทดสอบปลั๊กอินเพื่อให้แน่ใจว่าฟังก์ชันการทำงานเป็นปกติ
  4. เผยแพร่ปลั๊กอิน: เผยแพร่ปลั๊กอินไปยัง NocoBase Community หรือ private repository

#เครื่องมือสำหรับพัฒนาปลั๊กอิน

NocoBase มีชุดเครื่องมือสำหรับนักพัฒนาที่จะช่วยให้คุณพัฒนาปลั๊กอินได้อย่างมีประสิทธิภาพมากขึ้นครับ/ค่ะ:

  • NocoBase CLI: เครื่องมือ Command-line สำหรับสร้าง, จัดการ และเผยแพร่ปลั๊กอิน
  • NocoBase DevTools: ส่วนขยายเบราว์เซอร์ (browser extension) สำหรับดีบัก (debug) และทดสอบปลั๊กอิน
  • NocoBase SDK: JavaScript SDK สำหรับโต้ตอบกับฟังก์ชันหลักของ NocoBase

#ข้อกำหนดในการพัฒนาปลั๊กอิน

เพื่อให้มั่นใจในคุณภาพและความเข้ากันได้ของปลั๊กอิน NocoBase ได้กำหนดข้อกำหนดในการพัฒนาหลายประการดังนี้ครับ/ค่ะ:

  • ข้อกำหนดการตั้งชื่อ (Naming Conventions): การตั้งชื่อปลั๊กอิน, โมเดล, อินเทอร์เฟซ และอื่นๆ ควรเป็นไปตามข้อกำหนดที่เป็นหนึ่งเดียวกัน
  • ข้อกำหนดโค้ด (Code Specifications): โค้ดควรเป็นไปตามข้อกำหนดของ ESLint เพื่อรักษารูปแบบโค้ดให้สอดคล้องกัน
  • ข้อกำหนดการทดสอบ (Testing Specifications): ปลั๊กอินควรรวมถึงการทดสอบหน่วย (unit tests) และการทดสอบการรวมระบบ (integration tests) เพื่อให้มั่นใจว่าฟังก์ชันการทำงานมีเสถียรภาพ
  • ข้อกำหนดเอกสาร (Documentation Specifications): ปลั๊กอินควรมีเอกสารประกอบที่ละเอียด เพื่อความสะดวกในการใช้งานของผู้ใช้

#การเผยแพร่ปลั๊กอิน

ปลั๊กอินของ NocoBase สามารถเผยแพร่ได้ด้วยวิธีดังต่อไปนี้ครับ/ค่ะ:

  • NocoBase Community: เผยแพร่ปลั๊กอินไปยัง NocoBase Community เพื่อให้ผู้ใช้คนอื่นๆ สามารถใช้งานได้
  • Private Repository: เผยแพร่ปลั๊กอินไปยัง private repository สำหรับการใช้งานภายในองค์กรหรือส่วนบุคคล

#การบำรุงรักษาปลั๊กอิน

การบำรุงรักษาปลั๊กอินของ NocoBase ครอบคลุมหลายด้านดังนี้ครับ/ค่ะ:

  • การอัปเดตเวอร์ชัน: อัปเดตเวอร์ชันของปลั๊กอินเป็นประจำ เพื่อแก้ไขข้อผิดพลาด (bug) และเพิ่มฟังก์ชันใหม่ๆ
  • ความเข้ากันได้ (Compatibility): ตรวจสอบให้แน่ใจว่าปลั๊กอินเข้ากันได้กับ NocoBase เวอร์ชันหลัก
  • ความปลอดภัย (Security): ให้ความสำคัญกับความปลอดภัยของปลั๊กอิน และแก้ไขช่องโหว่ด้านความปลอดภัยอย่างทันท่วงที
  • การอัปเดตเอกสาร: อัปเดตเอกสารของปลั๊กอินให้ทันสมัยอยู่เสมอ เพื่อให้สอดคล้องกับฟังก์ชันการทำงาน

#ตัวอย่างปลั๊กอิน

NocoBase มีตัวอย่างปลั๊กอินมากมาย เพื่อช่วยให้คุณเริ่มต้นการพัฒนาปลั๊กอินได้อย่างรวดเร็วครับ/ค่ะ:

  • ปลั๊กอิน Hello World
  • ปลั๊กอิน Auth
  • ปลั๊กอิน Workflow

#คำถามที่พบบ่อยเกี่ยวกับปลั๊กอิน

  • จะดีบักปลั๊กอินได้อย่างไร? คุณสามารถใช้ NocoBase DevTools เพื่อดีบักได้ครับ/ค่ะ
  • จะเผยแพร่ปลั๊กอินได้อย่างไร? คุณสามารถใช้ NocoBase CLI เพื่อเผยแพร่ปลั๊กอินได้ครับ/ค่ะ
  • จะอัปเดตปลั๊กอินได้อย่างไร? คุณสามารถอัปเดตได้ผ่าน NocoBase CLI หรือหน้าจัดการหลังบ้านของ NocoBase ครับ/ค่ะ