我在next.js上使用adaptive.js - 反应项目,大量使用服务器端功能来提高第一屏幕渲染速度。 使用px2rem的adaptive.js可以让我们的团队编写css维度,作为UED团队的设计草案。当adaptive.js init时,它需要设备宽度& dpr缩放并设置整个项目css的基本字体大小。如果我们没有通过正确的参数,服务器渲染的css将不同于客户端1,有时缩放2倍或3倍,将导致屏幕闪烁&重新排列,这很糟糕。
显然,我们无法直接在服务器端获取设备dpr或宽度。只是用户代理是不够的,每个设备型号都没有地图< =>屏幕信息。 http客户端提示似乎是一个完美的解决方案,明确要求浏览器提供所需的设备信息。但它仍处于草案状态,有限的浏览器支持此功能。