การเพิ่มโมดูลจากผู้พัฒนาภายนอก
ดึงข้อมูลและเชื่อมโยงแพ็กเกจภายนอก
การเพิ่มโมดูลจากผู้พัฒนาภายนอก เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- นำเข้าไฟล์ด้วย @import
- การจัดโครงสร้างโครงการหลายไฟล์
- build.zig.zon และตัวจัดการแพ็กเกจ
- การเพิ่มโมดูลจากผู้พัฒนาภายนอก