Next.js ইন্টিগ্রেট করুন

Firebase CLI ব্যবহার করে, আপনি আপনার Next.js ওয়েব অ্যাপগুলিকে Firebase-এ ডেপ্লয় করতে এবং Firebase Hosting মাধ্যমে পরিবেশন করতে পারেন।

স্থির বিষয়বস্তু পরিবেশন করুন

Firebase ইনিশিয়ালাইজ করার পর, আপনি স্ট্যান্ডার্ড ডিপ্লয়মেন্ট কমান্ড ব্যবহার করে স্ট্যাটিক কন্টেন্ট পরিবেশন করতে পারেন:

firebase deploy

আপনার অ্যাপে যদি ডাইনামিক সার্ভার-সাইড লজিক থাকে, তাহলে CLI সেই লজিকটি Cloud Functions for Firebase ডেপ্লয় করে। আপনি আপনার ডেপ্লয় করা অ্যাপটি তার লাইভ সাইটে দেখতে পারেন।

ডাইনামিক কন্টেন্ট প্রি-রেন্ডার করুন

Firebase CLI , getStaticProps এবং getStaticPaths- এর ব্যবহার শনাক্ত করবে।

ঐচ্ছিক: Firebase JS SDK-এর সাথে একীভূত করুন

সার্ভার এবং ক্লায়েন্ট উভয় বান্ডেলে Firebase JS SDK মেথড অন্তর্ভুক্ত করার সময়, প্রোডাক্টটি ব্যবহার করার আগে isSupported() চেক করে রানটাইম ত্রুটি থেকে সুরক্ষিত থাকুন। সব প্রোডাক্ট সব পরিবেশে সমর্থিত নয়।

ঐচ্ছিক: ফায়ারবেস অ্যাডমিন এসডিকে-এর সাথে একীভূত করুন

আপনার ব্রাউজার বিল্ডে অন্তর্ভুক্ত করা হলে অ্যাডমিন SDK বান্ডেলগুলো কাজ করবে না; এগুলো শুধুমাত্র getStaticProps এবং getStaticPaths-এর ভেতরেই ব্যবহার করুন।

সম্পূর্ণ ডাইনামিক কন্টেন্ট (SSR) পরিবেশন করুন

Firebase CLI, getServerSideProps- এর ব্যবহার শনাক্ত করবে। এক্ষেত্রে, ডাইনামিক সার্ভার কোড চালানোর জন্য CLI Cloud Functions for Firebase ফাংশনগুলো ডেপ্লয় করবে। আপনি Firebase কনসোলে এই ফাংশনগুলোর ডোমেইন এবং রানটাইম কনফিগারেশনের মতো তথ্য দেখতে পারবেন।

next.config.js ব্যবহার করে Hosting আচরণ কনফিগার করুন।

ইমেজ অপ্টিমাইজেশন

Next.js ইমেজ অপটিমাইজেশন ব্যবহার করা সমর্থিত, কিন্তু আপনি SSR ব্যবহার না করলেও এটি ( Cloud Functions for Firebase ) একটি ফাংশন তৈরি করবে।

পুনঃনির্দেশ, পুনর্লিখন এবং হেডার

Firebase CLI, next.config.jsথাকা রিডাইরেক্ট , রিরাইট এবং হেডারগুলোকে সম্মান করে এবং ডিপ্লয় করার সময় সেগুলোকে তাদের নিজ নিজ সমতুল্য Firebase Hosting কনফিগারেশনে রূপান্তর করে। যদি কোনো Next.js রিডাইরেক্ট, রিরাইট বা হেডারকে সমতুল্য Firebase Hosting হেডারে রূপান্তর করা না যায়, তবে এটি একটি ফাংশন বিল্ড করে—এমনকি আপনি ইমেজ অপটিমাইজেশন বা SSR ব্যবহার না করলেও।

ঐচ্ছিক: ফায়ারবেস অথেনটিকেশনের সাথে সংযুক্ত করুন

ওয়েব ফ্রেমওয়ার্ক-সচেতন ফায়ারবেস ডেপ্লয়মেন্ট টুলিং কুকি ব্যবহার করে স্বয়ংক্রিয়ভাবে ক্লায়েন্ট এবং সার্ভারের অবস্থা সিঙ্ক করে রাখবে। SSR-এ অথেনটিকেশন কনটেক্সট অ্যাক্সেস করার জন্য কিছু পদ্ধতি দেওয়া আছে:

  • এক্সপ্রেস res.locals অবজেক্টটিতে ঐচ্ছিকভাবে একটি প্রমাণীকৃত ফায়ারবেস অ্যাপ ইনস্ট্যান্স ( firebaseApp ) এবং বর্তমানে সাইন-ইন করা ব্যবহারকারী ( currentUser ) থাকতে পারে। এটি getServerSideProps এর মাধ্যমে অ্যাক্সেস করা যায়।
  • প্রমাণীকৃত Firebase অ্যাপের নামটি রাউট কোয়েরিতে ( __firebaseAppName ) প্রদান করা হয়। এর ফলে কনটেক্সটের মধ্যে থাকাকালীন ম্যানুয়াল ইন্টিগ্রেশন করা যায়:
// get the authenticated Firebase App
const firebaseApp = getApp(useRouter().query.__firebaseAppName);