Trước khi bắt đầu tạo mẫu và kiểm thử ứng dụng web bằng trình mô phỏng Firebase Hosting, hãy đảm bảo rằng bạn hiểu quy trình làm việc tổng thể của Firebase Local Emulator Suite, đồng thời cài đặt và định cấu hình Local Emulator Suite cũng như xem xét các lệnh CLI của trình mô phỏng này.
Bạn cũng nên nắm rõ các tính năng và quy trình triển khai cho Firebase Hosting. Bắt đầu bằng 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 hoạt động mô phỏng cục bộ có độ chân thực cao cho các dịch vụ Hosting, cung cấp nhiều chức năng có trong sản xuất Hosting. Trình mô phỏng Hosting cho phép bạn:
- Tạo mẫu cho các trang web tĩnh và ứng dụng web mà không phải trả phí lưu trữ hoặc 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ữ
- Kiểm thử các trang web và ứng dụng web trong quy trình làm việc tích hợp liên tục, được chứa trong vùng chứa.
Chọn một dự án Firebase
Firebase Local Emulator Suite mô phỏng các sản phẩm cho một dự án Firebase duy nhất.
Để chọn dự án cần 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 trong CLI. Hoặc bạn có thể truyền cờ --project
đến từng lệnh trình mô phỏng.
Local Emulator Suite hỗ trợ hoạt động mô phỏng các dự án Firebase thực và dự án demo.
Loại dự án | Tính năng | Sử dụng với trình mô phỏng |
---|---|---|
Real |
Dự án Firebase thực là dự án mà bạn đã tạo và định cấu hình (rất có thể là 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, chẳng hạn như các phiên bản cơ sở dữ liệu, vùng 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 mọi sản phẩm mà 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, bộ chứa lưu trữ, hàm, v.v.). |
Bản trình diễn |
Dự án Firebase minh hoạ không có cấu hình Firebase thực và không có tài nguyên trực tiếp. Người dùng thường truy cập vào các dự án này thông qua lớp học mã hoặc các hướng dẫn khác. Mã dự án cho các dự án minh hoạ có tiền tố |
Khi làm việ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 các 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 hoạt độ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ễ dàng 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
- An toàn hơ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 (sản xuất), thì không có khả năng xảy ra thay đổi dữ liệu, mức sử dụng và việc thanh toán
- Hỗ trợ tốt hơn khi không có mạng, 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 thực hiện các lần lặp lại nhanh 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 thử nội dung và cấu hình Hosting của mình tại địa phương. Khi thử nghiệm cục bộ, Firebase sẽ phân phát ứng dụng web của bạn tại một URL được lưu trữ cục bộ.
(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 (hàm, cơ sở dữ liệu, quy tắc, v.v.) chứ không phải tài nguyên mô phỏng. Thay vào đó, bạn có thể kết nối ứng dụng của mình (không bắt buộc) để sử 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: Realtime Database | Cloud Firestore | Cloud Functions
Từ gốc của thư mục dự án cục bộ, hãy chạy lệnh sau:
firebase emulators:start
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
).Để cập nhật URL cục bộ theo những thay đổi, hãy làm mới trình duyệt.
Kiểm thử trên các thiết bị cục bộ khác
Theo mặc định, các trình mô phỏng chỉ phản hồi yêu cầu từ localhost
. Điều này có nghĩa là bạn sẽ có thể truy cập vào nội dung được lưu trữ từ trình duyệt web trên máy tính nhưng không thể truy cập từ các thiết bị khác trên mạng của bạn. 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 uỷ quyền 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 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ộ của bạn; bạn không nên thực hiện việc này 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. Bạn nên coi mã thông báo như mật khẩu; hãy nhớ giữ bí mật mã thông báo này.
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 xây dựng, 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ã thông báo truy cập. CLI Firebase sẽ tự động chọn biến môi trường FIREBASE_TOKEN
và các trình mô phỏng sẽ bắt đầu đúng cách.
Là phương án cuối cùng, bạn có thể chỉ cần thêm mã thông báo 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 mã hoá cứng này, bạn có thể thêm --token "YOUR_TOKEN_STRING_HERE"
vào lệnh firebase emulators:exec
.
Bước tiếp theo là gì?
- Chạy một hướng dẫn bắt đầu nhanh bằng trình mô phỏng Hosting bằng cách làm theo khoá học lập trình web Firebase.
- Tìm hiểu cách tạo mẫu các hàm HTTPS bằng trình mô phỏng Hosting như mô tả trong Hướng dẫn lưu trữ cho các hàm.
- Để xem tuyển tập video và ví dụ hướng dẫn chi tiết, hãy theo dõi Danh sách phát video đào tạo về Trình mô phỏng Firebase.