是否可以快速呈现移动视图



从渐进式增强的角度来看,我只是在考虑增强Web应用程序的不同方法,以便移动用户获得服务器呈现的视图,而不是桌面用户。

我正在考虑的一件事是渲染移动视图。基本节点代码将是...

router.get("/components", function(req, res) {
  var mobile = isMobile(req.headers["user-agent"]);
  res.render("components" + (mobile ? "-mobile" : "");
});

通过这种方式,我可以渲染一个使用更少 JavaScript 的更移动友好的视图,并在桌面上渲染更完整、更丰富的 SPA。

想知道,是否以及为什么这可能是也可能不是一个坏主意,以及您可能拥有的任何替代方案。

谢谢!

根据任意条件(设备、语言等)为同一 URL 呈现不同的内容是一个很大的禁忌。

您可以做的是设置中间件,以验证用户是否来自移动设备并相应地重定向。

是移动的.js

module.export = function(req, res, next) {
  if (isMobile(req.headers["user-agent"])) {
    res.redirect('//m.' + req.hostname + req.path);
  } else {
    next()
  }
}

路线.js

require('./isMobile');
router.get("/components", isMobile, function(req, res) {
  res.render("components");
});

或者,您可以使用中间件,使其适用于所有路由。

应用.js

require('./isMobile');
app.use(isMobile)
// Load routes here

相关内容

  • 没有找到相关文章

最新更新