从玉器中获取用户代理 [英] get user agent from inside jade
问题描述
我正在尝试将我为groovy编写的脚本移植到玉石上,并且遇到了一个绊脚石。
我需要从里面访问用户代理一个玉文件。这是我迄今为止所尝试的:
- var agent = req.headers ['user-agent'];
- var agent = headers ['user-agent'];
- var agent = navigator.userAgent;
每次从快递中获得500个错误。这甚至可能吗
我知道我可以在一个模块中执行它,并将其传递给render语句,但这意味着将其传递给每个渲染,因为它需要是全局的。 / p>
非常新到节点,并且困惑。谢谢SO。
只需编写自己的小型中间件
app.use(function(req,res,next){
res.locals.ua = req.get('User-Agent');
next();
});
把它放在你的 app.router
/ p>
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 ());
//这里
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')));
});
然后,您可以使用 ua
变量任何 jade
模板(例如 index.jade
)
扩展布局
块内容
h1 = title
p欢迎来到#{title}
p = ua
I am trying to port a script I wrote for groovy over to jade, and have run into a stumbling block
I need to access the user-agent from inside a jade file. Here is what I have tried so far:
- var agent = req.headers['user-agent'];
- var agent = headers['user-agent'];
- var agent = navigator.userAgent;
every time I get a 500 error from express. Is this even possible?
I know I could do it in a module and pass it to the render statement, but that would mean passing it to EVERY render, as it needs to be global.
Very new to node, and confused. Thanks SO.
Just write your own tiny middleware
app.use(function(req, res, next) {
res.locals.ua = req.get('User-Agent');
next();
});
Put this before your 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')));
});
Then you can use the ua
variable in any jade
template (for example index.jade
)
extends layout
block content
h1= title
p Welcome to #{title}
p=ua
这篇关于从玉器中获取用户代理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!