2017-06-22 70 views
1

我是ExpressJS的新手,所以我想設置一個簡單的字符串值,我可以翻譯。ExpressJS app.locals.title提供:發送後無法設置標題

所以我嘗試了globalize-express並設置應用程序的標題是這樣的:

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

依次爲:

app.use('/', index); 

它看起來是正確的渲染,但控制檯發佈的錯誤:

Can't set headers after they are sent.

如何避免此錯誤?

+2

的可能的複製[錯誤:無法設置頭後,他們被髮送到客戶端(https://stackoverflow.com/questions/7042340/error-cant-set-在發送給客戶端之後的頭文件) –

+0

正確,發現在我的'index.js'中,我應該調用'router.get('/',function(req,res)'。ie無需在'router.get()'中調用'next()' – jkbadsberg

回答

0

我發現錯誤是在相關routes/index.js,有腳手架另一個next()調用。我更新的文件:

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

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

    module.exports = router;