在nuxt中为移动设备加载不同的页面模板

时间:2019-03-14 08:30:03

标签: vue.js vue-router nuxt.js nuxt

我正在做一个更大的项目,需要在 some 页面上为移动用户创建一个单独的UX。将响应式布局与CSS配合使用不会削减效果,而使用test.spec.js进行动态组件渲染会导致令人恐惧的模板。

This answer是我最接近的,但是我想避免手动定义路由,因为有很多页面。

我目前正在使用中间件基于用户代理检查进行重定向:

v-if

但是我无法判断是否有移动版本,因此如果没有,将显示错误页面。

我也尝试使用this answer,但使用nuxt-device-detect而不是断点,但是由于路由器是在进入浏览器之前进行配置的,所以check函数将返回fallback选项,因此它没有为我工作。另外,由于我将使用SSR,因此避免了诸如export default function(context) { if (context.isMobile) { if (context.route.fullPath.indexOf('/m') !== 0) { return context.redirect('/m' + context.route.fullPath) } } if (context.isDesktop) { if (context.route.fullPath.indexOf('/m') === 0) { return context.redirect(context.route.fullPath.substring(2)) } } } 之类的事情。


简而言之,我的问题是:为移动用户提供单独页面的最佳实践是什么?

0 个答案:

没有答案