Nguyên mẫu và thử nghiệm ứng dụng web bằng Trình mô phỏng lưu trữ Firebase

Trước khi bạn bắt đầu tạo mẫu và thử nghiệm ứng dụng web của mình bằng trình mô phỏng Firebase Hosting, hãy đảm bảo rằng bạn hiểu toàn bộ quy trình làm việc của Firebase Local Emulator Suite cũng như cài đặt và định cấu hình Local Emulator Suite cũng như xem lại các lệnh CLI của nó.

Bạn cũng nên làm quen với các tính năng và quy trình triển khai của Firebase Hosting. Bắt đầu với phần giới thiệu về Firebase Hosting .

Tôi có thể làm gì với trình mô phỏng Firebase Hosting?

Trình mô phỏng Firebase Hosting cung cấp mô phỏng cục bộ có độ chính xác cao cho các dịch vụ Lưu trữ, cung cấp nhiều chức năng có trong Dịch vụ lưu trữ sản xuất . Trình mô phỏng Hosting cho phép bạn:

  • Tạo nguyên mẫu cho các trang web và ứng dụng web tĩnh của bạn mà không phải trả phí lưu trữ hoặc truy cập
  • Nguyên mẫu, kiểm tra và gỡ lỗi các chức năng HTTPS trước khi triển khai lên trang web Lưu trữ của bạn
  • Kiểm tra các trang web và ứng dụng web trong quy trình tích hợp liên tục, được đóng gói.

Chọn dự án Firebase

Bộ mô phỏng cục bộ Firebase mô phỏng các sản phẩm cho một dự án Firebase.

Để chọn dự án sẽ sử dụng, trước khi bạn khởi động trình mô phỏng, hãy chạy firebase use trong thư mục làm việc của bạn. Hoặc bạn có thể chuyển cờ --project cho mỗi lệnh trình mô phỏng.

Local Emulator Suite hỗ trợ mô phỏng các dự án Firebase thực và các dự án demo .

Loại dự án Đặc trưng Sử dụng với trình giả lập
Thực tế

Dự án Firebase thực sự là dự án bạn đã tạo và định cấu hình (rất có thể thông qua bảng điều khiển Firebase).

Các dự án thực có tài nguyên trực tiếp, như phiên bản cơ sở dữ liệu, nhóm lưu trữ, hàm hoặc bất kỳ tài nguyên nào khác mà bạn thiết lập cho dự án Firebase đó.

Khi làm việc với các dự án Firebase thực, bạn có thể chạy trình mô phỏng cho bất kỳ hoặc tất cả các sản phẩm được hỗ trợ.

Đối với bất kỳ sản phẩm nào bạn không mô phỏng, ứng dụng và mã của bạn sẽ tương tác với tài nguyên trực tiếp (phiên bản cơ sở dữ liệu, nhóm lưu trữ, chức năng, v.v.).

Thử nghiệm

Dự án Firebase demo không có cấu hình Firebase thực và không có tài nguyên trực tiếp. Những dự án này thường được truy cập thông qua các lớp học lập trình hoặc các hướng dẫn khác.

ID dự án cho các dự án demo có tiền tố demo- .

Khi làm việc với các dự án Firebase demo, ứng dụng và mã của bạn chỉ tương tác với trình mô phỏng. Nếu ứng dụng của bạn cố gắng tương tác với tài nguyên mà trình mô phỏng không chạy thì mã đó sẽ không thành công.

Chúng tôi khuyên bạn nên sử dụng các dự án demo bất cứ khi nào có thể. Lợi ích bao gồm:

  • Thiết lập dễ dàng hơn vì bạn có thể chạy trình mô phỏng mà không cần tạo dự án Firebase
  • An toàn hơn, vì nếu mã của bạn vô tình gọi các tài nguyên (sản xuất) không được mô phỏng thì sẽ không có cơ hội thay đổi dữ liệu, sử dụng và thanh toán
  • Hỗ trợ ngoại tuyến tốt hơn vì không cần truy cập Internet để tải xuống cấu hình SDK của bạn.

Quy trình tạo mẫu cốt lõi

Nếu đang thực hiện lặp lại nhanh chóng hoặc muốn ứng dụng của mình tương tác với các tài nguyên dự án phụ trợ được mô phỏng, bạn có thể kiểm tra nội dung và cấu hình Lưu trữ cục bộ. Khi thử nghiệm cục bộ, Firebase phân phối ứng dụng web của bạn tại URL được lưu trữ cục bộ.

  1. (Tùy chọn) Theo mặc định, ứng dụng được lưu trữ cục bộ của bạn sẽ tương tác với tài nguyên dự án thực , không được mô phỏng (chức năng, cơ sở dữ liệu, quy tắc, v.v.). Thay vào đó, bạn có thể tùy ý kết nối ứng dụng của mình để sử dụng bất kỳ tài nguyên dự án mô phỏng nào mà bạn đã định cấu hình. Tìm hiểu thêm: Cơ sở dữ liệu thời gian thực | Cửa hàng đám mây | Chức năng đám mây

  2. Từ thư mục gốc của dự án cục bộ của bạn, hãy chạy lệnh sau:

    firebase emulators:start
  3. Mở ứng dụng web của bạn tại URL cục bộ được CLI trả về (thường là http://localhost:5000 ).

  4. Để cập nhật các thay đổi cho URL cục bộ, hãy làm mới trình duyệt của bạn.

Kiểm tra từ các thiết bị cục bộ khác

Theo mặc định, trình giả lập chỉ phản hồi các yêu cầu từ localhost . Điều này có nghĩa là bạn sẽ có thể truy cập nội dung được lưu trữ từ trình duyệt web trên máy tính của bạn chứ không phải từ các thiết bị khác trên mạng của bạn. Nếu bạn muốn thử nghiệm từ các thiết bị cục bộ khác, hãy định cấu hình firebase.json của bạn như sau:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

Tạo mã thông báo xác thực cho quy trình tích hợp liên tục

Nếu quy trình tích hợp liên tục của bạn dựa vào Firebase Hosting thì bạn sẽ cần đăng nhập bằng mã thông báo để chạy firebase emulators:exec . Các trình giả lập khác không yêu cầu đăng nhập.

Để tạo mã thông báo, hãy chạy firebase login:ci trên môi trường cục bộ của bạn; điều này không nên được thực hiện từ hệ thống CI. Làm theo hướng dẫn để xác thực. Bạn chỉ cần thực hiện bước này một lần cho mỗi dự án vì mã thông báo sẽ hợp lệ trên các bản dựng. Mã thông báo phải được coi như mật khẩu; đảm bảo rằng nó được giữ bí mật.

Nếu môi trường CI của bạn cho phép bạn chỉ định các biến môi trường có thể được sử dụng trong tập lệnh xây dựng, bạn chỉ cần tạo một biến môi trường có tên FIREBASE_TOKEN , với giá trị là chuỗi mã thông báo truy cập. Firebase CLI sẽ tự động nhận biến môi trường FIREBASE_TOKEN và trình mô phỏng sẽ khởi động đúng cách.

Phương án cuối cùng là bạn có thể chỉ cần đưa mã thông báo vào tập lệnh xây dựng của mình nhưng hãy đảm bảo rằng các bên không tin cậy sẽ không có quyền truy cập. Đối với cách tiếp cận được mã hóa cứng này, bạn có thể thêm --token "YOUR_TOKEN_STRING_HERE" vào lệnh firebase emulators:exec .

Tiếp theo là gì?