2017-07-19 4 views
0

Je veux utiliser NextJS avec des fonctions de nuages ​​Firebase et je crée une fonction de nuage:NextJS avec Firebase nuage Fonctions

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 créer un dossier avec la construction de mon application JS.

Le problème est que je ne peux pas télécharger sur le cloud le dossier de construction NextJS. Comment je peux inclure ce dossier?

GitHub Edition =>https://github.com/zeit/next.js/issues/2017

Répondre

0

Firebase ignore actuellement le téléchargement de fichiers cachés dans les fonctions Cloud. Un PR a été fusionné pour résoudre ce problème, mais je crois qu'il est encore inédit en ce moment. Une fois ce tri effectué, vous découvrirez un certain nombre d'autres problèmes liés à l'hébergement de Next.js sur Cloud Functions. Par exemple, les regroupements JS sont stockés sur la route /_next/ et ne sont pas accessibles à moins que vous n'utilisiez les bonnes règles de réécriture de l'hôte Firebase.

J'ai écrit a blog post couvrant tous les problèmes et mises en garde que j'ai découvert lors de l'exécution de Next.js sur les fonctions Cloud.