从玉器中获取用户代理 [英] get user agent from inside jade

查看:86
本文介绍了从玉器中获取用户代理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将我为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆