0Pricing
Zig Academy · บทเรียน

การเพิ่มโมดูลจากผู้พัฒนาภายนอก

ดึงข้อมูลและเชื่อมโยงแพ็กเกจภายนอก

การเพิ่มโมดูลจากผู้พัฒนาภายนอก เป็นบทเรียน Zig Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Zig Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

จากไฟล์รายการสู่โค้ด

สิ่งที่พึ่งพาซึ่งระบุไว้ใน build.zig.zon จะถูกดาวน์โหลด แต่ยังใช้งานไม่ได้ คุณต้องเชื่อมเข้ากับ build.zig จึงจะเข้าถึงได้ในโค้ด 🔌

ขั้นที่หนึ่ง: zig fetch

เริ่มด้วยการเพิ่มแพ็กเกจ zig fetch พร้อม --save จะดาวน์โหลดแพ็กเกจและบันทึก url กับ hash ลงในไฟล์รายการโดยอัตโนมัติ

zig fetch --save https://example.com/mylib-1.0.0.tar.gz

ค้นหาใน build.zig

ใน build.zig ให้เรียกใช้ b.dependency พร้อมชื่อจากไฟล์รายการ คำสั่งนี้จะส่งตัวจัดการที่ชี้ไปยังแพ็กเกจที่ดาวน์โหลดแล้วกลับมา

const dep = b.dependency("mylib", .{});

รับโมดูล

จากตัวจัดการนั้น ให้ขอ โมดูลที่มีชื่อซึ่งแพ็กเกจเปิดเผย ผู้เขียนแพ็กเกจจะระบุชื่อโมดูลที่ต้องขอไว้ในเอกสาร

const mylib = dep.module("mylib");

เชื่อมเข้ากับการสร้างของคุณ

ทำให้สามารถนำเข้าโมดูลได้โดยเพิ่มโมดูลนั้นให้ไฟล์ปฏิบัติการด้วย addImport และเลือกชื่อที่จะใช้ในโค้ด

exe.root_module.addImport("mylib", mylib);

ใช้ @import ได้แล้ว

เมื่อเชื่อมแล้ว ชื่อนั้นจะทำงานเหมือน std ใช้ @import พร้อมสตริงดังกล่าวที่ใดก็ได้ในซอร์สโค้ดเพื่อนำเข้าไลบรารี

const mylib = @import("mylib");

เรียกใช้ไลบรารี

เมื่อนำเข้ามาผูกไว้กับ const แล้ว ให้เข้าถึงฟังก์ชันและชนิดข้อมูล pub ของไลบรารีได้เช่นเดียวกับโมดูลอื่นที่คุณเขียนเอง

const result = mylib.doThing(42);

ส่งตัวเลือกการสร้าง

อาร์กิวเมนต์ที่สองของ b.dependency จะส่งต่อตัวเลือก เช่น target และ optimize เพื่อให้สิ่งที่พึ่งพาถูกสร้างด้วยการตั้งค่าเดียวกับของคุณ

const dep = b.dependency("mylib", .{
    .target = target,
});

เชื่อมไลบรารี C ด้วย

แพ็กเกจบางรายการมีไลบรารีแบบคงที่ ไม่ได้มีเพียงโมดูล คุณสามารถใช้ linkLibrary เชื่อมกับอาร์ติแฟกต์ของไลบรารีได้เมื่อแพ็กเกจมีอาร์ติแฟกต์ดังกล่าว

exe.linkLibrary(dep.artifact("mylib"));

สร้างและเรียกใช้

สุดท้ายให้รัน zig build คำสั่งนี้จะดึงสิ่งที่ขาดหายไปมาให้ คอมไพล์ส่วนเสริม และลิงก์เข้ากับโปรแกรมของคุณในคำสั่งเดียว

zig build run

อัปเดตด้วยการดึงข้อมูลใหม่

หากต้องการเปลี่ยนไปใช้เวอร์ชันใหม่กว่า ให้รัน zig fetch อีกครั้งพร้อม url ใหม่ คำสั่งนี้จะรีเฟรชแฮช เพื่อให้การ build ครั้งถัดไปดึงโค้ดที่อัปเดตแล้วมาใช้

zig fetch --save https://example.com/mylib-1.1.0.tar.gz

ตรวจสอบอย่างรวดเร็ว

ลองนึกถึงการเรียกใน build.zig ที่ทำให้สามารถ import โมดูลของส่วนเสริมได้

ทบทวน

คุณเชื่อมต่อส่วนเสริมตั้งแต่ต้นจนจบแล้ว: zig fetch จากนั้นใช้ b.dependency, module และ addImport ใน build.zig และสุดท้ายใช้ @import ในโค้ดของคุณ 🎯

คำถามที่พบบ่อย

บทเรียน “การเพิ่มโมดูลจากผู้พัฒนาภายนอก” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเพิ่มโมดูลจากผู้พัฒนาภายนอก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Zig Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเพิ่มโมดูลจากผู้พัฒนาภายนอก”

ดึงข้อมูลและเชื่อมโยงแพ็กเกจภายนอก คุณปฏิบัติ Zig Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Zig Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Zig Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การเพิ่มโมดูลจากผู้พัฒนาภายนอก” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Zig Academy นี้ได้ไหม

ได้ บทเรียน Zig Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. นำเข้าไฟล์ด้วย @import
  2. การจัดโครงสร้างโครงการหลายไฟล์
  3. build.zig.zon และตัวจัดการแพ็กเกจ
  4. การเพิ่มโมดูลจากผู้พัฒนาภายนอก
← กลับไปที่ Zig Academy