• 0

NextJS مع وظائف Firebase Cloud

أرغب في استخدام NextJS مع وظائف سحابة Firebase وأنا أقوم بإنشاء وظيفة سحابية:

import * as functions from 'firebase-functions';
import cors from 'cors';
import express from 'express';
import next from 'next';

const nextApp = next({ dev: false });
const handle = nextApp.getRequestHandler();

nextApp
  .prepare()
  .then(() => {
    const server = express();
    server.use(cors({ origin: true }));

    server.get('/a', (req, res) => {
      return nextApp.render(req, res, '/b', req.query);
    });

    server.get('/b', (req, res) => {
      return nextApp.render(req, res, '/a', req.query);
    });

    server.get('*', (req, res) => {
      return handle(req, res);
    });
  })
  .catch(ex => {
    console.error(ex.stack);
    process.exit(1);
  });

export let app = functions.https.onRequest(nextApp);

يقوم NextJS بإنشاء مجلد مع إنشاء تطبيق JS الخاص بي.

المشكلة هي أنه لا يمكنني تحميل مجلد بناء NextJS على السحابة. كيف يمكنني تضمين هذا المجلد؟

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

أي أنك تريد عمل deploy لمشروع next.js على استضافة firebase..

يمكن باء المشروع ليكون قابلاً للتصدير export حيث نضيف لجزء script في package.json :

 "scripts": {
    "dev": "next",
    "build": "next build",
    "start": "next start",
    "export": "next export"   // هذا
  },

ثم ننفذ:

npm run build && npm run export

الآن ستكون الملفات قابلة للرفع على استضافة static hosting server مثل firebase hosting

حيث سيتم وضع الملفات في المجلد 

out/

لتفاصيل أكثر من التوثيق الرسمي: nextjs / static-html-export

للعمل إن كانت الملفات تتولد لديك بشكل ديناميكي لايمكن رفعها على استضافة ساكنة static

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

جرب القيام يتنفيذ الأمر

firebase deploy

من داخل المجلد functions بدلاً من تنفيذ الأمر السابق من داخل ال root

تمّ تعديل بواسطة عبدالباسط ابراهيم
خطأ إملائي

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن