gpt4 book ai didi

node.js - 在 Express 和 node.js 的路由设置中使用 dynamicHelpers

转载 作者:搜寻专家 更新时间:2023-10-31 23:36:11 25 4
gpt4 key购买 nike

我最近开始使用 node.js+express 组合,我偶然发现需要使用 dynamicHelpers,不仅在我的 View 中,而且在我的路由设置中(默认 express 配置中的 routes/index.js)。我应该使用一些不同的模式吗?

应用程序.js

app.dynamicHelpers({
translate : function(req, res) {
return translate;
},
language : function(req, res) {
return req.session.language || "en";
},
});

下面我想方便地访问我为我的 dynamicHelpers 设置的任何内容,因为在我看来它是相同的上下文..那么为什么要设置两次?

var routes = {};
routes.index = function(req, res) {
res.render('index', {
title : 'My webpage',
categories : categoryPositions,
referrer : req.header("Referrer"),
languages : ["pl", "en", "de"],
<----- here I would like to use my dynamicHelpers (for example translate)
})
};

我知道我可以通过多种方式传递我的数据,但我不想重复我的代码并且只希望尽可能干净地设置公共(public)上下文一次。我欢迎任何批评和好的建议!

最佳答案

函数.js

module.exports = {
translate : function(req, res) {
return translate;
},
language : function(req, res) {
return req.session.language || "en";
},
};

helpers.js

var functions = require('./functions');

app.dynamicHelpers({
translate : functions.translate,
language : functions.language
});

根据你的需要你也可以这样写助手

var functions = require('./functions');

app.dynamicHelpers( functions );

路由.js

var functions = require('./functions');

var routes = {
index: function(req, res) {
res.render('index', {
title : 'My webpage',
categories : categoryPositions,
referrer : req.header("Referrer"),
languages : ["pl", "en", "de"],
stuff: functions.translate(req, res) // <----- here I would like to use my dynamicHelpers (for example translate)
})
}
};

关于node.js - 在 Express 和 node.js 的路由设置中使用 dynamicHelpers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com