web-dev-qa-db-fra.com

Comment gérer l'agent utilisateur dans un environnement nodejs?

Je commence à utiliser le paquet "ua-parser" mais le créateur est trop occupé pour maintenir ou valider ... le npm ua-parser est dépassé et doit être téléchargé directement depuis github. Quelqu'un connaît un autre bon paquet comme ua-parser qui est mis à jour et peut être utilisé avec expressjs? Ou avez-vous un moyen de gérer simplement avec expressjs?

26

Avez-vous regardé:

Ou écrivez votre propre middleware:

app.use(function(req, res, next) {
  res.locals.ua = req.get('User-Agent');
  next();
});

Référence: obtenir l'agent utilisateur de l'intérieur du jade

42
tpae

Il y a deux situations générales, où vous avez juste besoin d'une correspondance simple, et vous n'avez pas besoin d'un module pour cela, vous pouvez simplement utiliser l'expression régulière dans Node.

var isIpad = !!req.headers['user-agent'].match(/iPad/);
var isAndroid = !!req.headers['user-agent'].match(/Android/);

==> true, false

L'autre, si vous avez besoin d'une sortie propre et agréable de type navigateur, cela a fonctionné le mieux pour moi. https://www.npmjs.org/package/useragent

23
John Williams

J'ai trouvé que c'était le meilleur ... léger et rapide! https://www.npmjs.com/package/express-useragent

  app.use(require('express-useragent').express())

Ensuite, à l'intérieur de votre middleware ... (req, res, next) ...

  console.log(JSON.stringify(req.useragent, null ,4))
0
indospace.io