Firebase Hosting จะสงวน URL ไว้ในเว็บไซต์ซึ่งขึ้นต้นด้วย /__
ช่วงเวลานี้
เนมสเปซที่สงวนไว้ทำให้สามารถใช้ผลิตภัณฑ์อื่นๆ ของ Firebase ร่วมกับ
Firebase Hosting
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
เราขอแนะนำอย่างยิ่งให้โหลดเฉพาะไลบรารีที่
ที่คุณใช้ในแอป ตัวอย่างเช่น หากต้องการรวมเฉพาะ Authentication และ
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 Hosting ที่จองไว้ คุณสามารถทำให้โค้ดเดียวกันใช้งานได้ใน Firebase หลายรายการ โปรเจ็กต์
นอกจากโฮสต์ SDK เองแล้ว เนมสเปซที่สงวนไว้ยังมีการกำหนดค่าทั้งหมดที่จําเป็นในการเริ่มต้น SDK สําหรับโปรเจ็กต์ Firebase ที่เชื่อมโยงกับเว็บไซต์ Hosting ด้วย การกำหนดค่า Firebase นี้และ การเริ่มต้น SDK มาจากสคริปต์ที่คุณใส่โค้ดต่อไปนี้ได้โดยตรง
<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>
เมื่อคุณทำให้ Firebase ใช้งานได้หรือทดสอบแอปในเครื่อง สคริปต์นี้โดยอัตโนมัติ กำหนดค่า SDK JavaScript Firebase สำหรับ โปรเจ็กต์ Firebase ที่ใช้งานอยู่และเริ่มต้น SDK
หากคุณต้องการควบคุมการเริ่มต้นด้วยตนเอง การกำหนดค่า Firebase ค่ายังมีอยู่ในรูปแบบ JSON ด้วย:
fetch('/__/firebase/init.json').then(async response => {
firebase.initializeApp(await response.json());
});
Firebase JS SDK ที่พร้อมใช้งาน (จาก URL Hosting ที่จองไว้)
ผลิตภัณฑ์ Firebase | ข้อมูลอ้างอิงไลบรารี (URL ที่จองไว้) |
---|---|
Firebase Core (ต้องระบุ) |
<script src="/__/firebase/8.10.1/firebase-app.js"></script> |
Analytics | <script src="/__/firebase/8.10.1/firebase-analytics.js"></script> |
App Check | <script src="/__/firebase/8.10.1/firebase-app-check.js"></script> |
Authentication | <script src="/__/firebase/8.10.1/firebase-auth.js"></script> |
Cloud Firestore | <script src="/__/firebase/8.10.1/firebase-firestore.js"></script> |
Cloud Functions for Firebase Client SDK | <script src="/__/firebase/8.10.1/firebase-functions.js"></script> |
การติดตั้ง Firebase ครั้ง | <script src="/__/firebase/8.10.1/firebase-installations.js"></script> |
Cloud Messaging | <script src="/__/firebase/8.10.1/firebase-messaging.js"></script> เพิ่ม Firebase SDK สำหรับ Analytics ด้วยเพื่อประสบการณ์การใช้งาน Cloud Messaging ที่ดีที่สุด |
Cloud Storage | <script src="/__/firebase/8.10.1/firebase-storage.js"></script> |
Performance Monitoring
(รุ่นเบต้า) |
<script src="/__/firebase/8.10.1/firebase-performance.js"></script> |
Realtime Database | <script src="/__/firebase/8.10.1/firebase-database.js"></script> |
Remote Config
(รุ่นเบต้า) |
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script> เพิ่ม Firebase SDK สำหรับ Analytics ด้วยเพื่อประสบการณ์การใช้งาน Remote Config ที่ดีที่สุด |
SDK JavaScript Firebase รายการ (SDK ทั้งหมด) |
<script src="/__/firebase/8.10.1/firebase.js"></script> |
ผู้ช่วยเหลือด้านการตรวจสอบสิทธิ์
Firebase Authentication ใช้หน่วยโฆษณาที่สงวนไว้ Namespace สำหรับให้ JavaScript และ HTML พิเศษเพื่อทำการตรวจสอบสิทธิ์ให้เสร็จสมบูรณ์ ผู้ให้บริการผ่าน OAuth ซึ่งช่วยให้แต่ละโปรเจ็กต์ Firebase มี โดเมนย่อยของ Firebase เพื่อเพิ่มความปลอดภัยให้กับ Firebase Authentication
นอกจากนี้ คุณยังใช้โดเมนที่กำหนดเองสำหรับauthDomain
ตัวเลือกของfirebase.initializeApp()
ได้ด้วย หากคุณ
กำหนดค่าโดเมนที่กำหนดเอง
สำหรับ Firebase Hosting แล้ว คุณยังสามารถระบุโดเมนที่กำหนดเอง (แทน
ของโดเมนย่อย web.app
หรือ firebaseapp.com
) เมื่อเริ่มต้น Firebase
SDK โปรดดู
แนวทางปฏิบัติแนะนำสำหรับการใช้ signInWithRedirect
เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการใช้โดเมนที่กำหนดเอง
URL และ Service Worker ที่จองไว้
หากคุณกำลังสร้าง Progressive Web App (PWA) คุณอาจสร้างบริการ ผู้ปฏิบัติงานที่มี "ทางเลือกสำหรับการนำทาง" และแสดงผล URL ที่เจาะจงโดยค่าเริ่มต้น หากไม่ตรงกับรายการในแคชล่วงหน้า
หากใช้ไลบรารี sw-precache คุณเพิ่มการตั้งค่ารายการที่อนุญาตพิเศษสำหรับการนําทางสำรองที่ไม่รวมเนมสเปซที่สงวนไว้ได้ ดังนี้
{
navigateFallbackWhitelist: [/^(?!\/__).*/]
}
โดยทั่วไป โปรดจำไว้ว่าเนมสเปซที่มีขีดล่างติดกัน 2 ขีดสงวนไว้สำหรับ การใช้งาน Firebase และคุณไม่ควรสกัดกั้นคำขอเหล่านี้ในบริการของคุณ