Fre*_*all 9 node.js express pug
我试图将我为groovy写的脚本移植到jade上,并且遇到了绊脚石
我需要从jade文件中访问用户代理.这是我到目前为止所尝试的:
- var agent = req.headers['user-agent'];
- var agent = headers['user-agent'];
- var agent = navigator.userAgent;
Run Code Online (Sandbox Code Playgroud)
每次我从快递得到500错误.这甚至可能吗?
我知道我可以在模块中执行它并将其传递给render语句,但这意味着将它传递给每个渲染,因为它需要是全局的.
节点很新,很困惑.谢谢你.
zem*_*rco 14
只需编写自己的微型中间件
app.use(function(req, res, next) {
res.locals.ua = req.get('User-Agent');
next();
});
Run Code Online (Sandbox Code Playgroud)
把它放在你面前 app.router
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
// here
app.use(function(req, res, next) {
res.locals.ua = req.get('User-Agent');
next();
});
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
Run Code Online (Sandbox Code Playgroud)
然后你可以ua在任何jade模板中使用变量(例如index.jade)
extends layout
block content
h1= title
p Welcome to #{title}
p=ua
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3476 次 |
| 最近记录: |