【问题标题】:ExpressJS app.locals.title gives: Can't set headers after they are sentExpressJS app.locals.title 给出:发送后无法设置标题
【发布时间】:2017-06-22 13:30:46
【问题描述】:

我是 ExpressJS 的新手,所以我想设置一个简单的字符串值,我可以翻译。

所以我尝试了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);

看起来它正在正确渲染,但控制台正在发布错误:

发送后无法设置标头。

我怎样才能避免这个错误?

【问题讨论】:

标签: node.js express javascript-globalize


【解决方案1】:

我发现错误在相关的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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    相关资源
    最近更新 更多