2017-06-22 5 views
1

Ich bin neu in ExpressJS, also wollte ich einen einfachen String-Wert festlegen, den ich übersetzen konnte.ExpressJS app.locals.title gibt: Kann Header nicht festlegen, nachdem sie gesendet werden

Also habe ich versucht globalize-express aus und legen Sie den App-Titel wie folgt aus:

app.use(function (req, res, next) { 
    console.log("App: " + req.Globalize.formatMessage('strings/title')); 
    res.locals.title = req.Globalize.formatMessage('strings/title'); 
    next(); 
}); 

gefolgt von:

app.use('/', index); 

Es sieht aus wie es richtig zu machen, aber die Konsole den Fehler zu veröffentlichen:

Can't set headers after they are sent.

Wie kann ich diesen Fehler vermeiden?

+2

Mögliche Duplikat [Fehler: nicht Header gesetzt, nachdem sie an den Client gesendet werden] (https://stackoverflow.com/questions/7042340/error-cant-set- Kopfzeilen, nachdem sie an den Client gesendet wurden –

+0

Korrigieren Sie, dass ich in meiner 'index.js'' router.get ('/', function (req, res) '' nennen würde. Ie Kein Aufruf von 'next()' in 'router.get()' – jkbadsberg

Antwort

0

Ich fand, dass der Fehler in der verwandten routes/index.js war, gab es einen anderen next() Ruf. Ich aktualisiert diese Datei:

var express = require('express'); 
    var app = require("../app.js"); 
    var router = express.Router(); 

    router.get('/', function (req, res) { 
     res.render('index', { 
     }); 
    }); 

    module.exports = router; 
Verwandte Themen