اذهب إلى المحتوى
  • 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 على السحابة. كيف يمكنني تضمين هذا المجلد؟

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

Recommended Posts

  • 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

تم التعديل في بواسطة عبدالباسط ابراهيم
خطأ إملائي
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...