Tạo 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ắt đầu tạo nguyên mẫu và kiểm thử ứng dụng web bằng trình mô phỏng Lưu trữ Firebase, hãy đảm bảo bạn hiểu rõ quy trình làm việc tổng thể của Bộ mô phỏng cục bộ Firebase và bạn cài đặt cũng như định cấu hình Bộ trình mô phỏng cục bộ, đồng thời xem lại các lệnh CLI của bộ công cụ đó.

Bạn cũng đã quen thuộc với các tính năng và quy trình triển khai cho Lưu trữ Firebase. Hãy bắt đầu với phần giới thiệu về Lưu trữ Firebase.

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

Trình mô phỏng Lưu trữ Firebase cung cấp tính năng mô phỏng cục bộ có độ trung thực cao của các Dịch vụ lưu trữ, cung cấp hầu hết chức năng có trong Lưu trữ bản chính thức. Trình mô phỏng Lưu trữ cho phép bạn:

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

Chọn một dự án Firebase

Bộ trình mô phỏng cục bộ của Firebase mô phỏng các sản phẩm cho một dự án Firebase duy nhất.

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

Bộ trình mô phỏng cục bộ hỗ trợ mô phỏng các dự án Firebase thực và dự án bản minh hoạ.

Loại dự án Tính năng Dùng với trình mô phỏng
Thực

Một dự án Firebase thực tế 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 của Firebase).

Dự án thực tế có tài nguyên trực tiếp, chẳng hạn như thực thể cơ sở dữ liệu, bộ chứa 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 tế, bạn có thể chạy trình mô phỏng cho bất kỳ hoặc tất cả sản phẩm được hỗ trợ.

Đối với bất kỳ sản phẩm nào mà bạn không mô phỏng, các ứ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, bộ chứa lưu trữ, hàm, v.v.).

Bản trình diễn

Một dự án Firebase minh hoạ không có cấu hình Firebase thực và không có tài nguyên đang hoạt động. Người dùng thường truy cập được những dự án này thông qua lớp học lập trình hoặc các hướng dẫn khác.

Mã dự án của các dự án minh hoạ có tiền tố demo-.

Khi thao tác với các dự án Firebase minh hoạ, ứ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 một tài nguyên mà trình mô phỏng không chạy, thì mã đó sẽ không thành công.

Bạn nên sử dụng các dự án minh hoạ bất cứ khi nào có thể. Các lợi ích bao gồm:

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

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

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

  1. (Không bắt buộc) 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 các tài nguyên dự án thực, chứ không phải được mô phỏng, (hàm, cơ sở dữ liệu, quy tắc, v.v.). Thay vào đó, bạn có thể tuỳ ý kết nối ứng dụng của mình để dùng mọi tài nguyên dự án được mô phỏng mà bạn đã định cấu hình. Tìm hiểu thêm: Cơ sở dữ liệu theo thời gian thực | Cloud Firestore | Hàm đám mây

  2. Từ gốc của thư mục dự án cục bộ, 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ộ do 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 thử từ các thiết bị cục bộ khác

Theo mặc định, trình mô phỏng chỉ phản hồi các yêu cầu từ localhost. Điều này có nghĩa là bạn có thể truy cập vào nội dung được lưu trữ từ trình duyệt web của máy tính chứ không thể truy cập từ các thiết bị khác trên mạng. Nếu bạn muốn kiểm thử từ các thiết bị cục bộ khác, hãy định cấu hình firebase.json 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 phụ thuộc vào tính năng Lưu trữ Firebase, thì bạn cần đăng nhập bằng mã thông báo để chạy firebase emulators:exec. Các trình mô phỏng 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ộ; bạn không nên thực hiện việc này từ hệ thống CI. Hãy 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 là mật khẩu; hãy đảm bảo rằng mã này được giữ bí mật.

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

Khi không còn cách nào khác, bạn chỉ cần đưa mã thông báo này vào tập lệnh bản dựng, nhưng hãy đảm bảo rằng các bên không đáng tin cậy không có quyền truy cập. Đối với phương pháp được cố định giá trị trong mã 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ì?