web-dev-qa-db-ja.com

nodejs環境でuser-agentを処理する方法は?

私はパッケージ「ua-parser」の使用を開始しましたが、作成者は忙しすぎて管理またはコミットできません... npm ua-parserは時代遅れであり、githubから直接ダウンロードする必要があります。誰かが更新され、expressjsで使用できるua-parserのような他の良いパッケージについて知っていますか?または、expressjsだけで処理する方法がありますか?

26

見たことがありますか:

または、独自のミドルウェアを作成します。

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

参照: jade内からユーザーエージェントを取得

42
tpae

2つの一般的な状況があります。単純なマッチングが必要な場合で、このためのモジュールは必要ありません。Nodeで正規表現を使用できます。

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

==> true, false

もう1つは、ブラウザタイプのきれいできれいな出力が必要な場合に、これが最適でした。 https://www.npmjs.org/package/useragent

23
John Williams

私はこれが最高であることがわかりました...軽量で速い! https://www.npmjs.com/package/express-useragent

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

次に、ミドルウェアの内部...(req、res、next)...

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