โหลด Firebase SDK จาก URL ที่สงวนไว้

Firebase Hosting ขอสงวน URL ในเว็บไซต์ของคุณที่ขึ้นต้นด้วย /__ เนมสเปซที่สงวนไว้นี้ช่วยให้ใช้ผลิตภัณฑ์ Firebase อื่นๆ ร่วมกับโฮสติ้ง Firebase ได้ง่ายขึ้น

URL ที่สงวนไว้เหล่านี้สามารถใช้ได้ทั้งเมื่อคุณปรับใช้กับ Firebase ( firebase deploy ) หรือเมื่อคุณเรียกใช้แอปของคุณบนเซิร์ฟเวอร์ภายในเครื่อง ( firebase serve )

เพิ่มสคริปต์สำหรับ URL ที่สงวนไว้

เนื่องจาก Firebase Hosting ให้บริการผ่าน HTTP/2 เมื่อใช้งาน คุณจึงสามารถเพิ่มประสิทธิภาพได้โดยการโหลดไฟล์จากต้นทางเดียวกัน Firebase Hosting ให้บริการ Firebase JavaScript SDK เวอร์ชัน 8 จาก URL พิเศษที่มีรูปแบบดังนี้:

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

เราขอแนะนำอย่างยิ่งให้โหลดเฉพาะ ไลบรารี ที่คุณใช้ในแอปของคุณ ตัวอย่างเช่น หากต้องการรวมเฉพาะการตรวจสอบสิทธิ์และ Cloud Firestore ให้เพิ่มสคริปต์ต่อไปนี้ที่ด้านล่างของแท็ก <body> แต่ก่อนที่คุณจะใช้บริการ Firebase ใดๆ:

<body>
  <!-- Insert these scripts at the bottom of the HTML, but before you use any Firebase services -->
  <!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
  <script src="/__/firebase/8.10.1/firebase-app.js"></script>

  <!-- Add Firebase products that you want to use -->
  <script src="/__/firebase/8.10.1/firebase-auth.js"></script>
  <script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
</body>

การกำหนดค่า SDK อัตโนมัติ

การกำหนดค่า SDK อัตโนมัติทำให้ง่ายต่อการจัดการสภาพแวดล้อมต่างๆ (เช่น การพัฒนา การจัดเตรียม และการใช้งานจริง) จากโค้ดเบสเดียว ด้วยการใช้ URL โฮสติ้งที่สงวนไว้ คุณสามารถปรับใช้โค้ดเดียวกันกับโปรเจ็กต์ Firebase หลายโปรเจ็กต์ได้

นอกเหนือจากการโฮสต์ SDK เองแล้ว เนมสเปซที่สงวนไว้ยังให้การกำหนดค่าทั้งหมดที่จำเป็นในการเริ่มต้น SDK สำหรับโปรเจ็กต์ Firebase ที่เชื่อมโยงกับไซต์โฮสติ้งอีกด้วย การกำหนดค่า Firebase และการเริ่มต้น SDK นี้จัดทำโดยสคริปต์ที่คุณสามารถรวมได้โดยตรง:

<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>

เมื่อคุณปรับใช้กับ Firebase หรือทดสอบแอปของคุณภายในเครื่อง สคริปต์นี้จะกำหนดค่า Firebase JavaScript SDK โดยอัตโนมัติสำหรับ โปรเจ็กต์ Firebase ที่ใช้งานอยู่ และเริ่มต้น SDK

หากคุณต้องการควบคุมการเริ่มต้นด้วยตนเอง ค่าการกำหนดค่า Firebase จะมีให้ในรูปแบบ JSON เช่นกัน:

fetch('/__/firebase/init.json').then(async response => {
  firebase.initializeApp(await response.json());
});

Firebase JS SDK ที่ใช้ได้ (จาก URL โฮสติ้งที่สงวนไว้)

ผลิตภัณฑ์ Firebase การอ้างอิงห้องสมุด (URL ที่สงวนไว้)
แกน Firebase
(ที่จำเป็น)
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
การวิเคราะห์
<script src="/__/firebase/8.10.1/firebase-analytics.js"></script>
ตรวจสอบแอป
<script src="/__/firebase/8.10.1/firebase-app-check.js"></script>
การรับรองความถูกต้อง
<script src="/__/firebase/8.10.1/firebase-auth.js"></script>
คลาวด์ไฟร์สโตร์
<script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
ฟังก์ชั่นคลาวด์สำหรับ Firebase Client SDK
<script src="/__/firebase/8.10.1/firebase-functions.js"></script>
การติดตั้ง Firebase
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
การส่งข้อความบนคลาวด์
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

เพื่อประสบการณ์การใช้งาน Cloud Messaging ที่ดีที่สุด ให้เพิ่ม Firebase SDK สำหรับ Analytics ด้วย

การจัดเก็บเมฆ
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
การตรวจสอบประสิทธิภาพ
(รุ่น เบต้า )
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
ฐานข้อมูลเรียลไทม์
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
การกำหนดค่าระยะไกล
(รุ่น เบต้า )
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

เพื่อประสบการณ์การใช้งานการกำหนดค่าระยะไกลที่ดีที่สุด ให้เพิ่ม Firebase SDK สำหรับ Analytics ด้วย

Firebase JavaScript SDK
(SDK ทั้งหมด)
<script src="/__/firebase/8.10.1/firebase.js"></script>

ผู้ช่วยรับรองความถูกต้อง

การตรวจสอบสิทธิ์ Firebase ใช้เนมสเปซที่สงวนไว้เพื่อจัดเตรียม JavaScript และ HTML พิเศษเพื่อให้การตรวจสอบสิทธิ์กับผู้ให้บริการผ่าน OAuth เสร็จสมบูรณ์ ซึ่งช่วยให้แต่ละโปรเจ็กต์ Firebase มีโดเมนย่อย Firebase ที่ไม่ซ้ำกัน ซึ่งช่วยเพิ่มความปลอดภัยของการตรวจสอบสิทธิ์ Firebase

นอกจากนี้ ยังช่วยให้คุณใช้โดเมนที่คุณกำหนดเองสำหรับตัวเลือก authDomain ของ firebase.initializeApp() ได้ หากคุณ กำหนดค่าโดเมนที่กำหนดเอง สำหรับโฮสติ้ง Firebase คุณยังสามารถระบุโดเมนที่กำหนดเองนั้นได้ (แทนโดเมนย่อยของ web.app หรือ firebaseapp.com ) เมื่อเริ่มต้น Firebase SDK

URL ที่สงวนไว้และพนักงานบริการ

หากคุณกำลังสร้าง Progressive Web App (PWA) คุณอาจสร้างพนักงานบริการที่มี "ทางเลือกในการนำทาง" และแสดง URL ที่เฉพาะเจาะจงตามค่าเริ่มต้น หากไม่ตรงกับรายการของรายการที่เก็บไว้ล่วงหน้า

หากคุณใช้ไลบรารี sw-precache คุณสามารถเพิ่มการตั้งค่ารายการทางเลือกสำรองการนำทางที่ไม่รวมเนมสเปซที่สงวนไว้:

{
  navigateFallbackWhitelist: [/^(?!\/__).*/]
}

โดยทั่วไป โปรดจำไว้ว่าเนมสเปซที่มีเครื่องหมายขีดล่างคู่นั้นสงวนไว้สำหรับการใช้งาน Firebase และคุณไม่ควรดักฟังคำขอเหล่านี้จากพนักงานบริการของคุณ