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

การขยายโมดูลคืออะไร
การขยายโมดูลคืออะไร
การขยายโมดูลคือการเปิดโมดูลที่มีอยู่อีกครั้ง แล้วเพิ่มหรือแก้ไขประเภทหรือฟังก์ชันการทำงานโดยใช้ไวยากรณ์ declare module
ตัวอย่างพื้นฐานของการขยายโมดูล
ตัวอย่างพื้นฐานของการขยายโมดูล
ต่อไปนี้เป็นตัวอย่างการขยายโมดูล express เพื่อเพิ่มคุณสมบัติแบบกำหนดเองให้กับวัตถุ Request:
import 'express';
declare module 'express' {
interface Request {
user?: { id: string; role: string };
}
}การใช้โมดูลที่ขยายแล้ว
การใช้โมดูลที่ขยายแล้ว
หลังจากขยายโมดูลแล้ว คุณสามารถใช้ฟังก์ชันการทำงานที่เพิ่มขึ้นในแอปพลิเคชันของคุณได้:
import express from 'express';
const app = express();
app.use((req, res, next) => {
req.user = { id: '123', role: 'admin' };
next();
});
app.get('/', (req, res) => {
res.send(`User ID: ${req.user?.id}`);
});การเพิ่มประเภทแบบกำหนดเองให้กับโมดูลของบุคคลที่สาม
การเพิ่มประเภทแบบกำหนดเองให้กับโมดูลของบุคคลที่สาม
มักใช้การขยายโมดูลเพื่อเพิ่มประเภทแบบกำหนดเองให้กับไลบรารีของบุคคลที่สามที่ไม่ครอบคลุมกรณีการใช้งานของคุณอย่างสมบูรณ์
ข้อควรระวังในการขยายโมดูล
ข้อควรระวังในการขยายโมดูล
เมื่อขยายโมดูล:
- ตรวจสอบว่าไม่ได้เขียนทับประเภทที่มีอยู่โดยไม่ได้ตั้งใจ
- จัดทำเอกสารการเปลี่ยนแปลงเพื่อให้ดูแลรักษาโค้ดได้ดียิ่งขึ้น
- ใช้การขยายโมดูลเฉพาะเมื่อจำเป็น เพื่อหลีกเลี่ยงการทำให้ประเภทส่วนกลางรกรุงรัง
กรณีการใช้งานในโลกจริง
กรณีการใช้งานในโลกจริง
มักใช้การขยายโมดูลสำหรับ:
- ขยายไลบรารีของบุคคลที่สามให้รองรับคุณสมบัติเฉพาะของแอปพลิเคชัน
- เพิ่มคุณสมบัติของซอฟต์แวร์ตัวกลางแบบกำหนดเองในเฟรมเวิร์กอย่าง Express.js
- ปรับโมดูลให้เหมาะกับข้อกำหนดเฉพาะของโครงการ
ภารกิจฝึกปฏิบัติ
ภารกิจฝึกปฏิบัติ
ขยายวัตถุ Request จากโมดูล express เพื่อเพิ่มเมธอด isAuthenticated แบบกำหนดเอง จากนั้นใช้เมธอดนี้ในฟังก์ชันซอฟต์แวร์ตัวกลางตัวอย่าง
ขอแสดงความยินดี
ขอแสดงความยินดี!
คุณได้เรียนรู้วิธีใช้การขยายโมดูลเพื่อเพิ่มหรือแก้ไขโมดูลที่มีอยู่ใน TypeScript แล้ว โปรดฝึกทักษะนี้เพื่อปรับแต่งไลบรารีของบุคคลที่สามและเพิ่มประสิทธิภาพให้แอปพลิเคชันของคุณ!

คำถามที่พบบ่อย
บทเรียน “การเพิ่มความสามารถให้โมดูล” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเพิ่มความสามารถให้โมดูล” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเพิ่มความสามารถให้โมดูล”
ทำความเข้าใจวิธีขยายหรือแก้ไขโมดูลและไลบรารีที่มีอยู่ให้เหมาะกับความต้องการของโครงการมากขึ้น คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “การเพิ่มความสามารถให้โมดูล” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม
ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การตรวจสอบค่า Null แบบเข้มงวด
- การสร้างชนิดข้อมูลแบบไดนามิก
- การเพิ่มความสามารถให้โมดูล