Hook handle(): มิดเดิลแวร์สำหรับคำขอ
ดักรับคำขอขาเข้าทุกคำขอ แก้ไข event.locals และเรียก resolve()
Hook handle(): มิดเดิลแวร์สำหรับคำขอ เป็นบทเรียน Sveltejs Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Sveltejs Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน
ฮุกของเซิร์ฟเวอร์
ฮุกอยู่ใน src/hooks.server.js และทำงานกับคำขอจากเซิร์ฟเวอร์ทุกคำขอ
ส่งออก handle
ส่งออกฟังก์ชันแบบอะซิงโครนัสที่ชื่อ handle ซึ่งรับค่า { event, resolve }
export async function handle({ event, resolve }) {
// do stuff before
const res = await resolve(event);
// do stuff after
return res;
}แก้ไขเหตุการณ์
กำหนดค่าให้ event.locals เพื่อเปิดเผยข้อมูลแก่การโหลดและจุดปลายทาง
event.locals.user = await getUser(event.cookies.get("sid"));ตรวจสอบหรือแทนที่การตอบกลับ
หลังจาก resolve(event) แล้ว คุณสามารถตรวจสอบหรือแก้ไขการตอบกลับได้
การบันทึกคำขอ
ฮุก handle เป็นตำแหน่งที่เหมาะมากสำหรับเพิ่มการบันทึกคำขอหรือเมตริกด้านเวลา
ชั้นการยืนยันตัวตน
อ่านคุกกี้ ดึงข้อมูลผู้ใช้ แล้วแนบข้อมูลไว้ใน locals จากนั้นหน้าเว็บและส่วนติดต่อโปรแกรมประยุกต์จะเชื่อถือข้อมูลใน locals ได้
การประกอบฮุก
คุณสามารถห่อหุ้มข้อกังวลหลายด้านไว้ในตัวช่วย แล้วรวมเข้าด้วยกันด้วย sequence()
ส่วนหัว CORS
เพิ่มส่วนหัว CORS ระหว่างส่งการตอบกลับออกไปสำหรับส่วนติดต่อโปรแกรมประยุกต์ที่ให้บริการแก่แหล่งกำเนิดอื่น
ประสิทธิภาพ
ฮุกทำงานกับทุกคำขอ โปรดทำให้ทำงานได้รวดเร็วและปลอดภัยเมื่อทำงานแบบอะซิงโครนัส
การข้ามไฟล์สแตติก
SvelteKit จะข้ามฮุกสำหรับไฟล์สแตติก ฮุกของคุณจึงทำงานเฉพาะกับเส้นทางของแอปเท่านั้น
TypeScript
ใช้ชนิด Handle จาก @sveltejs/kit สำหรับการเขียนโค้ดที่ตรวจสอบชนิด
ตรวจสอบอย่างรวดเร็ว
ฮุกของเซิร์ฟเวอร์อยู่ที่ใด
สรุปทบทวน
ฮุก handle ใน hooks.server.js จะดักจับทุกคำขอ เติมข้อมูลลงใน locals เพื่อให้โค้ดถัดไปใช้งาน
คำถามที่พบบ่อย
บทเรียน “Hook handle(): มิดเดิลแวร์สำหรับคำขอ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Hook handle(): มิดเดิลแวร์สำหรับคำขอ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Sveltejs Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Sveltejs Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Hook handle(): มิดเดิลแวร์สำหรับคำขอ”
ดักรับคำขอขาเข้าทุกคำขอ แก้ไข event.locals และเรียก resolve() คุณปฏิบัติ Sveltejs Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Sveltejs Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Sveltejs Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “Hook handle(): มิดเดิลแวร์สำหรับคำขอ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Sveltejs Academy นี้ได้ไหม
ได้ บทเรียน Sveltejs Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Hook handle(): มิดเดิลแวร์สำหรับคำขอ
- handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์
- Hook init()
- Sequence() สำหรับการประกอบ Hook