我正在使用带有nodejs和express的 Handlebars 。这是我的main.handlebars文件:

<!doctype html>
<html>
    <head>
        ...
    </head>
    <body>
        <div class ="container">
            ...
            <footer>
                &copy; {{copyrightYear}} Meadowlark Travel
            </footer>
        </div>
    </body>
</html>

到目前为止,我已经将版权年度传递到了每条路线:
var date = new Date();
var copyrightYear = date.getFullYear();

app.get(
    '/',
    function( req, res) {
        res.render(
            'home',
            {
                copyrightYear: copyrightYear
            }
        );
    }
);

是否可以全局设置copyrightYear变量,所以我不必将其传递给每个路线/ View ?

最佳答案

ExpressJS提供了某种“全局变量”。在文档中提到了它们:app.locals。要将其包含在每个响应中,您可以执行以下操作:

app.locals.copyright = '2014';

关于node.js - 如何在不传递给每条路线的情况下为主 Handlebars 布局设置变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25095991/

10-12 12:34