Tải SDK Firebase từ các URL dành riêng

Firebase Hosting dự trữ URL trong trang web của bạn bắt đầu bằng /__ . Không gian tên dành riêng này giúp việc sử dụng các sản phẩm Firebase khác cùng với Dịch vụ lưu trữ Firebase dễ dàng hơn.

Các URL dành riêng này khả dụng cả khi bạn triển khai lên Firebase ( firebase deploy ) hoặc khi bạn chạy ứng dụng của mình trên máy chủ cục bộ ( firebase serve ).

Thêm tập lệnh cho các URL dành riêng

Vì Firebase Hosting được phân phối qua HTTP/2 khi được triển khai nên bạn có thể tăng hiệu suất bằng cách tải các tệp từ cùng một nguồn. Firebase Hosting phục vụ phiên bản 8 của SDK JavaScript Firebase từ các URL đặc biệt được định dạng như sau:

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

Chúng tôi thực sự khuyên bạn chỉ nên tải các thư viện mà bạn sử dụng trong ứng dụng của mình. Ví dụ: để chỉ bao gồm Xác thực và Cloud Firestore, hãy thêm các tập lệnh sau vào cuối thẻ <body> của bạn, nhưng trước khi bạn sử dụng bất kỳ dịch vụ Firebase nào:

<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>

Tự động cấu hình SDK

Cấu hình SDK tự động giúp dễ dàng quản lý nhiều môi trường (chẳng hạn như nhà phát triển, dàn dựng và sản xuất) từ một cơ sở mã duy nhất. Bằng cách dựa vào URL lưu trữ dành riêng, bạn có thể triển khai cùng một mã cho nhiều dự án Firebase.

Ngoài việc lưu trữ SDK, không gian tên dành riêng còn cung cấp tất cả cấu hình cần thiết để khởi tạo SDK cho dự án Firebase được liên kết với trang web Lưu trữ. Cấu hình Firebase và khởi tạo SDK này được cung cấp bởi một tập lệnh mà bạn có thể đưa trực tiếp vào:

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

Khi bạn triển khai lên Firebase hoặc thử nghiệm ứng dụng cục bộ, tập lệnh này sẽ tự động định cấu hình SDK JavaScript Firebase cho dự án Firebase đang hoạt động và khởi chạy SDK.

Nếu bạn muốn tự mình kiểm soát việc khởi tạo, các giá trị cấu hình Firebase cũng có sẵn ở dạng JSON:

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

SDK Firebase JS có sẵn (từ URL lưu trữ dành riêng)

sản phẩm căn cứ hỏa lực Tham chiếu thư viện (URL dành riêng)
Lõi căn cứ hỏa lực
(yêu cầu)
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
phân tích
<script src="/__/firebase/8.10.1/firebase-analytics.js"></script>
Kiểm tra ứng dụng
<script src="/__/firebase/8.10.1/firebase-app-check.js"></script>
Xác thực
<script src="/__/firebase/8.10.1/firebase-auth.js"></script>
Cửa hàng đám mây
<script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
Chức năng đám mây cho SDK khách Firebase
<script src="/__/firebase/8.10.1/firebase-functions.js"></script>
Cài đặt Firebase
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
Nhắn tin qua đám mây
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

Để có trải nghiệm tối ưu khi sử dụng Nhắn tin qua đám mây, hãy thêm SDK Firebase cho Analytics.

Lưu trữ đám mây
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
Giám sát hiệu suất
(bản phát hành beta )
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
Cơ sở dữ liệu thời gian thực
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
Cấu hình từ xa
(bản phát hành beta )
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

Để có trải nghiệm tối ưu khi sử dụng Cấu hình từ xa, hãy thêm SDK Firebase cho Analytics.

SDK JavaScript của Firebase
(toàn bộ SDK)
<script src="/__/firebase/8.10.1/firebase.js"></script>

Người trợ giúp xác thực

Xác thực Firebase sử dụng không gian tên dành riêng để cung cấp JavaScript và HTML đặc biệt nhằm hoàn tất xác thực với nhà cung cấp thông qua OAuth. Điều này cho phép mỗi dự án Firebase có một tên miền phụ Firebase duy nhất, tăng tính bảo mật cho Xác thực Firebase.

Ngoài ra, điều này cho phép bạn sử dụng miền tùy chỉnh của riêng mình cho tùy chọn authDomain của firebase.initializeApp() . Nếu định cấu hình miền tùy chỉnh cho Firebase Hosting thì bạn cũng có thể chỉ định miền tùy chỉnh đó (thay vì miền phụ web.app hoặc firebaseapp.com ) khi khởi chạy SDK Firebase.

URL dành riêng và nhân viên dịch vụ

Nếu đang xây dựng Ứng dụng web lũy tiến (PWA), bạn có thể tạo một nhân viên dịch vụ có "dự phòng điều hướng" và hiển thị một URL cụ thể theo mặc định nếu nó không khớp với danh sách các mục được lưu trong bộ nhớ đệm trước.

Nếu đang sử dụng thư viện sw-precache , bạn có thể thêm cài đặt danh sách trắng dự phòng điều hướng loại trừ vùng tên dành riêng:

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

Nói chung, chỉ cần nhớ rằng không gian tên có dấu gạch dưới kép được dành riêng cho việc sử dụng Firebase và bạn không nên chặn những yêu cầu này trong nhân viên dịch vụ của mình.