เมื่อสร้างแอปตอบกลับพนักงานบริการจะถูกเรียกโดยค่าเริ่มต้น เหตุใดจึงใช้พนักงานบริการ สาเหตุของการเรียกค่าเริ่มต้นคืออะไร?
เมื่อสร้างแอปตอบกลับพนักงานบริการจะถูกเรียกโดยค่าเริ่มต้น เหตุใดจึงใช้พนักงานบริการ สาเหตุของการเรียกค่าเริ่มต้นคืออะไร?
คำตอบ:
คุณอาจไม่จำเป็นต้องมีพนักงานบริการสำหรับใบสมัครของคุณ หากคุณกำลังสร้างโปรเจ็กต์ด้วย create-react-app ระบบจะเรียกใช้ตามค่าเริ่มต้น
พนักงานบริการจะอธิบายได้ดีในนี้บทความ เพื่อสรุปจากนั้น
A
service worker
คือสคริปต์ที่เบราว์เซอร์ของคุณทำงานในพื้นหลังแยกจากหน้าเว็บเปิดประตูสู่คุณลักษณะที่ไม่จำเป็นต้องมีหน้าเว็บหรือการโต้ตอบกับผู้ใช้ วันนี้พวกเขาอยู่แล้วมีคุณสมบัติเช่นpush notifications
และbackground sync
และมีการ รวมทั้งability to intercept and handle network requests
programmatically managing a cache of responses
ในอนาคตแรงงานบริการอาจสนับสนุนสิ่งอื่น ๆ เช่น หรือ
periodic sync
geofencing
ตามPRนี้เพื่อสร้าง-react-app
Service workers
SWPrecacheWebpackPlugin
จะถูกนำมาใช้กับการสร้างปฏิกิริยาแอปผ่านการใช้ผู้ปฏิบัติงานเซิร์ฟเวอร์ที่มีกลยุทธ์แคชเป็นอันดับแรกมีข้อดีด้านประสิทธิภาพเนื่องจากเครือข่ายไม่ได้เป็นคอขวดสำหรับการตอบสนองคำขอการนำทาง อย่างไรก็ตามหมายความว่านักพัฒนา (และผู้ใช้) จะเห็นเฉพาะการอัปเดตที่ทำให้ใช้งานได้ในการเยี่ยมชมหน้า "N + 1" เนื่องจากทรัพยากรที่แคชไว้ก่อนหน้านี้จะได้รับการอัปเดตในเบื้องหลัง
การโทรถึงregister service worker
จะเปิดใช้งานโดยค่าเริ่มต้นในแอพใหม่ แต่คุณสามารถลบออกได้ตลอดเวลาจากนั้นคุณจะกลับสู่พฤติกรรมปกติ
พูดง่ายๆคือสคริปต์ที่เบราว์เซอร์ทำงานในพื้นหลังและไม่มีความสัมพันธ์ใด ๆ กับหน้าเว็บหรือ DOM และให้คุณสมบัตินอกกรอบ นอกจากนี้ยังช่วยให้คุณแคชเนื้อหาและไฟล์อื่น ๆ เพื่อให้เมื่อผู้ใช้ออฟไลน์หรืออยู่ในเครือข่ายที่ช้า
คุณสมบัติบางอย่างเหล่านี้คือการร้องขอเครือข่ายพร็อกซีการแจ้งเตือนแบบพุชและการซิงค์พื้นหลัง พนักงานบริการมั่นใจว่าผู้ใช้จะได้รับประสบการณ์ออฟไลน์ที่สมบูรณ์
คุณสามารถคิดว่าพนักงานบริการเป็นคนที่อยู่ระหว่างไคลเอนต์และเซิร์ฟเวอร์และคำขอทั้งหมดที่ส่งไปยังเซิร์ฟเวอร์จะส่งผ่านผู้ปฏิบัติงานบริการ โดยพื้นฐานแล้วเป็นชายกลางคน เนื่องจากคำขอทั้งหมดผ่านพนักงานบริการจึงสามารถสกัดกั้นคำขอเหล่านี้ได้ทันที
ฉันต้องการเพิ่มข้อควรพิจารณาที่สำคัญ 2 ประการเกี่ยวกับพนักงานบริการที่ต้องคำนึงถึง:
พนักงานบริการต้องการ HTTPS แต่การที่จะช่วยให้การทดสอบท้องถิ่นข้อ จำกัด localhost
นี้ใช้ไม่ได้กับ นี่เป็นเหตุผลด้านความปลอดภัยเนื่องจาก Service Worker ทำหน้าที่เหมือนคนที่อยู่ตรงกลางระหว่างเว็บแอปพลิเคชันและเซิร์ฟเวอร์
ด้วยการสร้างปฏิกิริยา Appnpm run build
บริการคนทำงานถูกเปิดใช้งานเฉพาะในสภาพแวดล้อมการผลิตเช่นเมื่อทำงาน
บริการคนทำงานอยู่ที่นี่เพื่อช่วยเหลือการพัฒนาก้าวหน้า Web App ทรัพยากรที่ดีเกี่ยวกับมันในบริบทของการสร้างปฏิกิริยา App สามารถพบได้ในเว็บไซต์ของพวกเขาที่นี่