نمونه اولیه و آزمایش برنامه های وب با شبیه ساز میزبانی Firebase

قبل از شروع نمونه‌سازی و آزمایش برنامه وب خود با شبیه‌ساز Firebase Hosting ، مطمئن شوید که جریان کاری مجموعه محلی Firebase Local Emulator Suite را درک کرده‌اید و Local Emulator Suite را نصب و پیکربندی کرده و دستورات CLI آن را مرور می‌کنید.

همچنین باید با ویژگی ها و گردش کار پیاده سازی برای Firebase Hosting آشنا باشید. با مقدمه ای برای Firebase Hosting شروع کنید.

با شبیه ساز Firebase Hosting چه کاری می توانم انجام دهم؟

شبیه‌ساز Firebase Hosting شبیه‌سازی محلی خدمات Hosting با کیفیت بالا را ارائه می‌کند و بسیاری از عملکردهای موجود در Hosting تولید را ارائه می‌دهد. شبیه ساز Hosting به شما اجازه می دهد:

  • نمونه اولیه سایت ها و برنامه های وب استاتیک خود را بدون هزینه های ذخیره سازی یا دسترسی ایجاد کنید
  • قبل از استقرار در سایت میزبانی خود، توابع HTTPS را نمونه اولیه، آزمایش و اشکال زدایی کنید
  • سایت‌ها و برنامه‌های وب را در جریان‌های کاری یکپارچه‌سازی مستمر و کانتینری آزمایش کنید.

یک پروژه Firebase را انتخاب کنید

Firebase Local Emulator Suite محصولات را برای یک پروژه Firebase تقلید می کند.

برای انتخاب پروژه مورد استفاده، قبل از شروع شبیه سازها، در CLI از firebase use . یا، می توانید پرچم --project را به هر فرمان شبیه ساز ارسال کنید.

Local Emulator Suite از شبیه سازی پروژه های Firebase واقعی و پروژه های آزمایشی پشتیبانی می کند.

نوع پروژه ویژگی ها با شبیه سازها استفاده کنید
واقعی

یک پروژه Firebase واقعی پروژه ای است که شما ایجاد و پیکربندی کرده اید (به احتمال زیاد از طریق کنسول Firebase ).

پروژه های واقعی دارای منابع زنده هستند، مانند نمونه های پایگاه داده، سطل های ذخیره سازی، توابع یا هر منبع دیگری که برای آن پروژه Firebase تنظیم کرده اید.

هنگام کار با پروژه های Firebase واقعی، می توانید شبیه سازها را برای هر یک یا همه محصولات پشتیبانی شده اجرا کنید.

برای هر محصولی که شبیه‌سازی نمی‌کنید، برنامه‌ها و کد شما با منبع زنده (نمونه پایگاه داده، سطل ذخیره‌سازی، عملکرد و غیره) تعامل خواهند داشت.

نسخه ی نمایشی

یک پروژه Firebase آزمایشی هیچ پیکربندی Firebase واقعی و هیچ منبع زنده ای ندارد. این پروژه ها معمولاً از طریق نرم افزارهای کد یا آموزش های دیگر قابل دسترسی هستند.

شناسه های پروژه برای پروژه های نمایشی دارای پیشوند demo- هستند.

هنگام کار با پروژه های Firebase آزمایشی، برنامه ها و کد شما فقط با شبیه سازها تعامل دارند. اگر برنامه شما سعی کند با منبعی که شبیه ساز برای آن اجرا نمی شود تعامل داشته باشد، آن کد با شکست مواجه می شود.

توصیه می کنیم تا جایی که امکان دارد از پروژه های نمایشی استفاده کنید. مزایا عبارتند از:

  • راه اندازی آسان تر، زیرا می توانید شبیه سازها را بدون ایجاد پروژه Firebase اجرا کنید
  • ایمنی قوی تر، زیرا اگر کد شما به طور تصادفی منابع غیر شبیه سازی شده (تولید) را فراخوانی کند، هیچ شانسی برای تغییر داده ها، استفاده و صورتحساب وجود ندارد.
  • پشتیبانی آفلاین بهتر است، زیرا برای دانلود پیکربندی SDK نیازی به دسترسی به اینترنت نیست.

گردش کار نمونه سازی اصلی

اگر تکرارهای سریع انجام می دهید یا می خواهید برنامه شما با منابع پروژه باطن شبیه سازی شده تعامل داشته باشد، می توانید محتوای Hosting و پیکربندی محلی خود را آزمایش کنید. هنگام آزمایش محلی، Firebase برنامه وب شما را در یک URL میزبانی محلی ارائه می‌کند.

  1. (اختیاری) به طور پیش فرض، برنامه میزبانی شده محلی شما با منابع پروژه واقعی ، غیر شبیه سازی شده (توابع، پایگاه داده، قوانین و غیره) تعامل خواهد داشت. در عوض می‌توانید به‌صورت اختیاری برنامه‌تان را برای استفاده از منابع پروژه شبیه‌سازی‌شده‌ای که پیکربندی کرده‌اید، متصل کنید. بیشتر بدانید: Realtime Database | Cloud Firestore | Cloud Functions

  2. از ریشه دایرکتوری پروژه محلی خود، دستور زیر را اجرا کنید:

    firebase emulators:start
  3. برنامه وب خود را در URL محلی بازگردانده شده توسط CLI (معمولاً http://localhost:5000 ) باز کنید.

  4. برای به روز رسانی URL محلی با تغییرات، مرورگر خود را بازخوانی کنید.

تست از دستگاه های محلی دیگر

به طور پیش فرض، شبیه سازها فقط به درخواست های localhost پاسخ می دهند. این بدان معنی است که شما می توانید از مرورگر وب رایانه خود به محتوای میزبانی شده خود دسترسی داشته باشید اما از سایر دستگاه های موجود در شبکه خود دسترسی ندارید. اگر می‌خواهید از دستگاه‌های محلی دیگر تست کنید، firebase.json خود را به این صورت پیکربندی کنید:

"emulators": {
    // ...

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

توکن‌های تأیید اعتبار برای گردش‌های کاری یکپارچه‌سازی مداوم ایجاد کنید

اگر گردش کار یکپارچه سازی مداوم شما به میزبانی Firebase متکی است، برای اجرای firebase emulators:exec باید با استفاده از یک نشانه وارد شوید. سایر شبیه سازها نیازی به ورود ندارند.

برای تولید یک توکن، firebase login:ci در محیط محلی خود اجرا کنید. این نباید از یک سیستم CI انجام شود. دستورالعمل ها را برای احراز هویت دنبال کنید. شما فقط باید این مرحله را یک بار در هر پروژه انجام دهید، زیرا توکن در تمام بیلدها معتبر خواهد بود. توکن باید مانند یک رمز عبور رفتار شود. مطمئن شوید که مخفی بماند

اگر محیط CI شما به شما اجازه می دهد که متغیرهای محیطی را مشخص کنید که می توانند در اسکریپت های ساخت استفاده شوند، به سادگی یک متغیر محیطی به نام FIREBASE_TOKEN ایجاد کنید که مقدار آن رشته نشانه دسترسی است. Firebase CLI به طور خودکار متغیر محیطی FIREBASE_TOKEN را انتخاب می کند و شبیه سازها به درستی شروع به کار می کنند.

به عنوان آخرین راه حل، می توانید به سادگی توکن را در اسکریپت ساخت خود قرار دهید، اما مطمئن شوید که طرف های غیرقابل اعتماد دسترسی ندارند. برای این رویکرد سخت کد شده، می‌توانید --token "YOUR_TOKEN_STRING_HERE" به فرمان firebase emulators:exec اضافه کنید.

بعدش چی؟