gpt4 book ai didi

javascript - Nodejs Express - dynamicHelpers 错误

转载 作者:可可西里 更新时间:2023-11-01 09:25:02 27 4
gpt4 key购买 nike

我正在尝试使用以下内容运行我的应用:

app.configure(function(){
app.set('views', __dirname + '/views');
app.enable('jsonp callback');
app.set('view engine', 'jade');
app.set('view options', {layout : false});
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
secret : 'abcdefg'
}));
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));

});

app.dynamicHelpers({
session : function(req, res){
return req.session;
}
});

运行 node app.js 时出现如下错误信息

app.dynamicHelpers({

TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'dynamicHelpers'
at Object.<annonymous> (C:\nodeapps\nodeblox\app.js:35:5)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.Load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallBack (node.js:244:9)

我对使用 nodejs 有点陌生,但我知道 Express 不再支持 dynamicHelpers(),我尝试重新编写代码并继续在各处出现错误。修复此 dynamicHelpers 代码以确保其余代码仍然正常工作的正确方法是什么?

谢谢!

最佳答案

我猜您使用的不是 Express 2,而是 Express 3。有 migration guide这可以帮助您弄清楚发生了什么。对于 dynamicHelpers(),您需要了解 app.use 函数需要位于配置部分,而不是之前的位置。

之前

app.configure();
app.dynamicHelpers({
user: function(req, res) {
return req.session.user;
}
});

现在在 E3 中

app.configure(function(){
//...
app.use(function(req, res, next){
res.locals.user = req.session.user;
next();
});
//...
});

关于javascript - Nodejs Express - dynamicHelpers 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517375/

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