私はまだノードJSで新しいです。クライアント側からの要求を特定する方法についての回避策やメソッドは、ノードJSを使用してモバイルまたは非モバイルデバイスからのものですか?私が今やっていることは、デバイスタイプ(モバイル/デスクトップ)に基づいて特定のAPIのアクセスを制限したいと思います。私はサーバー側を修復しています。ありがとう。
クライアントがモバイルデバイスを使用しているかどうかを検出するための基本的な方法は、userAgent
の特定の文字列のセットを一致させることである。
function detectMob() {
const toMatch = [
/Android/i,
/webOS/i,
/iPhone/i,
/iPad/i,
/iPod/i,
/BlackBerry/i,
/Windows Phone/i
];
return toMatch.some((toMatchItem) => {
return navigator.userAgent.match(toMatchItem);
});
}
_
(参照: モバイルブラウザの検出 )
クライアントのデバイスでコードのこのスニペットを実行します。返された結果がtrue
の場合は、それが他のモバイルデバイスでデスクトップ/ラップトップであることを知っています。お役に立てれば。
私が提案する方法は、NPMパッケージを使用することです express-useragent
それ以来、長期的に信頼性が高い。
var http = require('http')
, useragent = require('express-useragent');
var srv = http.createServer(function (req, res) {
var source = req.headers['user-agent']
var ua = useragent.parse(source);
// a Boolean that tells you if the request
// is from a mobile device
var isMobile = ua.isMobile
// do something more
});
srv.listen(3000);
_
それはまたexpressjsと連携しています:
var express = require('express');
var app = express();
var useragent = require('express-useragent');
app.use(useragent.express());
app.get('/', function(req, res){
res.send(req.useragent.isMobile);
});
app.listen(3000);
_