mercredi 3 octobre 2018

"firebase is not defined" error with `express-ejs-layouts`

I am not sure how to label this error. I am making the web page using Firebase. I am using Expree Engine, and also I use express-ejs-layouts to make same view template.

The code of index.js file is like this.

const functions = require('firebase-functions');
const express = require('express');
const expressLayouts = require('express-ejs-layouts');
const app = express();
var firebase = require("firebase");

app.set('view engine', 'ejs');
app.engine('ejs', require('ejs').__express);
app.use(expressLayouts);

app.get('/', function(req, res, next) {
  res.render('index', { title: '' });
})

app.get('/login', function(req, res, next) {
  res.redirect('diary/login');
});

app.get('/signup', function(req, res, next) {
  res.redirect('diary/signup');
});

app.get('/offline.html', function(req, res, next){
  res.sendFile('public/offline.html');
});

app.use('/diary', require('./diary'));

const api = functions.https.onRequest(app)
module.exports = {
  api
}

and I add this code in my view/layout.ejs.

<% if(!firebase.auth().currentUser) { %>
<li><a href="/login">LOG-IN</a></li>
<li><a href="/signup">SIGN-UP</a></li>
<% } else { %>
<li><a href="/logout">LOG-OUT</a></li>
<% } %>

but the error said,

error: ReferenceError: ...\functions\views\layout.ejs:53
    51|                 <ul class="right hide-on-med-and-down">
    52|                     <li><a href="/">MAIN</a></li>
 >> 53|                     <% if(!firebase.auth().currentUser) { %>
    54|                     <li><a href="/login">LOGIN</a></li>
    55|                     <li><a href="/signup">SIGN-UP</a></li>
    56|                     <% } else { %>

firebase is not defined

Is that any clue to firebase could be work in layout.ejs?

Aucun commentaire:

Enregistrer un commentaire