- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用以下内容运行我的应用:
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/
我正在尝试使用以下内容运行我的应用: app.configure(function(){ app.set('views', __dirname + '/views'); app.enable(
我创建了一个处理动态助手的外部文件,其中包含我希望能够从我的所有 View 中使用的一堆函数。 在其中一个函数中,我正在运行查询并从数据库中获取标签,我想在我的 layout.jade 文件(所有其他
我正在尝试在我的布局 中显示用户收件箱的邮件总数。我在想我需要使用 Express 的 dynamicHelpers 来做到这一点,但在 Express <= 2.x 中,这些不是异步调用,我需要在它
我最近开始使用 node.js+express 组合,我偶然发现需要使用 dynamicHelpers,不仅在我的 View 中,而且在我的路由设置中(默认 express 配置中的 routes/i
将 Express.js 从版本 2 更新到 3,并且对 app.dynamicHelpers({..}) 的以下调用中断,因为它不再存在于 V3 中: app.dynamicHelpers({
我是一名优秀的程序员,十分优秀!