我开始使用“ua-parser”软件包,但是创建者太忙了,无法保密或提交... npm ua-parser已经过时,需要直接从github下载。有人知道像ua-parser这样的其他优秀软件包已经更新并可以与expressjs一起使用吗?或者有办法处理expressjs?
答案 0 :(得分:38)
或者,编写自己的中间件:
app.use(function(req, res, next) {
res.locals.ua = req.get('User-Agent');
next();
});
答案 1 :(得分:21)
有两种一般情况,你只需要简单的匹配,而你不需要一个模块,你可以在Node中使用正则表达式。
var isIpad = !!req.headers['user-agent'].match(/iPad/);
var isAndroid = !!req.headers['user-agent'].match(/Android/);
==> true, false
另一方面,如果你需要一个很好的浏览器类型的干净输出,这对我来说效果最好。 https://www.npmjs.org/package/useragent
答案 2 :(得分:0)
我发现这是最好的...轻巧又快速! https://www.npmjs.com/package/express-useragent
app.use(require('express-useragent').express())
然后,在您的中间件内部...(要求,要求,下一个)...
console.log(JSON.stringify(req.useragent, null ,4))