การจัดโครงสร้างไลบรารีที่พร้อมเผยแพร่
จัดวาง lib, src และ API สาธารณะ
การจัดโครงสร้างไลบรารีที่พร้อมเผยแพร่ เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
แพ็กเกจก็คือโฟลเดอร์
แพ็กเกจ Dart ที่เผยแพร่ได้ก็คือโฟลเดอร์ที่มี pubspec.yaml อยู่ที่โฟลเดอร์ราก ไฟล์เดียวนี้เปลี่ยนโค้ดทั่วไปให้กลายเป็นสิ่งที่ pub.dev นำไปโฮสต์ได้ 📦
โฟลเดอร์ lib คือพื้นที่สาธารณะ
ทุกสิ่งที่คุณต้องการให้ผู้ใช้นำเข้าอยู่ใต้ lib ไฟล์ที่อยู่โดยตรงใน lib ถือเป็นส่วนหนึ่งของส่วนติดต่อสาธารณะของแพ็กเกจ ดังนั้นควรจัดวางอย่างรอบคอบ
ซ่อนส่วนภายในไว้ใน lib/src
โค้ดที่คุณไม่ต้องการเปิดเผยให้ใส่ไว้ใน lib/src ตามธรรมเนียมแล้วไฟล์เหล่านี้เป็นรายละเอียดการทำงานภายในแบบส่วนตัว และไม่ได้มีไว้ให้ผู้นำนำเข้าโดยตรง
lib/
my_package.dart
src/
helper.dartไฟล์จุดเริ่มต้น
แพ็กเกจส่วนใหญ่มาพร้อมไฟล์หลักหนึ่งไฟล์ใน lib ซึ่งตั้งชื่อตามแพ็กเกจ จุดเริ่มต้น นี้คือสิ่งที่ผู้ใช้นำเข้าเพื่อให้ได้ไลบรารีทั้งหมดในครั้งเดียว
import 'package:my_package/my_package.dart';ส่งออกอีกครั้งด้วยคีย์เวิร์ด export
จุดเริ่มต้นของคุณใช้ export เพื่อเปิดเผยส่วนต่าง ๆ จาก lib/src ที่ผู้ใช้จำเป็นต้องใช้ คุณเป็นผู้คัดสรร API สาธารณะที่สะอาดและมีจุดประสงค์ชัดเจน
export 'src/calculator.dart';
export 'src/parser.dart';กำหนด API สาธารณะอย่างรอบคอบ
ชุดชื่อที่คุณส่งออกคือ API สาธารณะ ของคุณ ควรรักษาให้เล็กและเสถียร เพราะทุกสัญลักษณ์ที่ส่งออกคือคำมั่นสัญญาต่อผู้ใช้
ขีดล่างหมายถึงส่วนตัว
ชื่อที่ขึ้นต้นด้วยขีดล่างจะเป็น ส่วนตัวระดับไลบรารี ใน Dart แม้อยู่ภายใน lib/src ก็ควรเติมขีดล่างหน้าตัวช่วยที่ไม่ต้องการเปิดเผย
int _internalCount = 0;โฟลเดอร์ example
เพิ่มโฟลเดอร์ example พร้อมโปรแกรมขนาดเล็กที่เรียกใช้ได้ เพื่อแสดงให้ผู้ใช้เห็นว่าแพ็กเกจของคุณทำงานอย่างไร และช่วยเพิ่มคะแนนบน pub.dev ✨
การทดสอบอยู่ใน test
การทดสอบอัตโนมัติอยู่ในโฟลเดอร์ test ซึ่งอยู่นอก lib การทดสอบเหล่านี้จะไม่ถูกส่งไปยังผู้ใช้ แต่ช่วยยืนยันว่าแพ็กเกจทำงานได้ตามที่สัญญาไว้
ไฟล์ระดับรากมีความสำคัญ
รากของแพ็กเกจที่ดีควรมี README, CHANGELOG และ LICENSE ด้วย ไฟล์ทั้งสามนี้คือสิ่งแรกที่ pub.dev แสดงให้ผู้เยี่ยมชมเห็น
มองโครงสร้างที่เป็นระเบียบได้ในทันที
เมื่อจัดรวมกันแล้ว โครงสร้าง จะทำหน้าที่เหมือนแผนที่: lib สำหรับ API, src สำหรับส่วนภายใน พร้อมด้วย example, test และไฟล์ข้อมูลกำกับ
my_package/
lib/
example/
test/
pubspec.yamlตรวจสอบอย่างรวดเร็ว
คุณควรวางโค้ดที่ควรเป็นรายละเอียดการทำงานภายในไว้ที่ใด
สรุป: ไลบรารีที่เป็นระเบียบ
คุณได้เรียนรู้ โครงสร้าง แล้ว: lib เก็บ API สาธารณะ, lib/src ซ่อนส่วนภายใน และ export คัดสรรสิ่งที่ผู้ใช้มองเห็น จัดโครงสร้างให้พร้อมก่อน แล้วจึงเผยแพร่ 🚀
คำถามที่พบบ่อย
บทเรียน “การจัดโครงสร้างไลบรารีที่พร้อมเผยแพร่” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดโครงสร้างไลบรารีที่พร้อมเผยแพร่” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Dart Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดโครงสร้างไลบรารีที่พร้อมเผยแพร่”
จัดวาง lib, src และ API สาธารณะ คุณปฏิบัติ Dart Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Dart Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Dart Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดโครงสร้างไลบรารีที่พร้อมเผยแพร่” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Dart Academy นี้ได้ไหม
ได้ บทเรียน Dart Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การจัดโครงสร้างไลบรารีที่พร้อมเผยแพร่
- การจัดทำเอกสารด้วยคอมเมนต์ dartdoc
- การตรวจรูปแบบ การจัดรูปแบบ และคะแนน pana
- dart pub publish ไปยัง pub.dev