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

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. Hook handle(): มิดเดิลแวร์สำหรับคำขอ
  2. handleError สำหรับการบันทึกข้อผิดพลาดของเซิร์ฟเวอร์
  3. Hook init()
  4. Sequence() สำหรับการประกอบ Hook
← กลับไปที่ Sveltejs Academy