nextjs的userAgent可以很方便的从请求中获取到user agent。
import { NextRequest, NextResponse, userAgent } from 'next/server';
export function middleWare(request: NextRequest) {
const url = request.nextUrl;
const { device } = userAgent(request);
const viewport = device.type === 'mobile' ? 'mobile' : 'desktop';
url.searchParams.set('viewport', viewport);
return NextResponse.rewrite(url);
}
通过这个userAgent可以获取到你要的参数,非常方便, 比如上面例子获取到设备类型。
还有其他各种数据,比如isBot,browser,device,engine,OS,CPU