对某些User-Agent强制使用Nuxt进行服务器端导航的最佳方法?

时间:2019-01-26 20:32:47

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

我试图强制Nuxt Vue应用程序请求服务器端URL,而不是导航特定User-Agent的客户端。基本上就像普通的MPA一样,而不是SPA。

Vue有一个router,其中有beforeEach。我已经可以通过Nuxt的plugins来利用它,但是即使在初次到达时也被调用。我已经设法对from.name进行了检查,但似乎可能缺少一种更好的方法:

nuxt.config.js

...
  plugins: [
    { src: '~/plugins/user-agent.js', ssr: false }
  ],
...

〜/ plugins / user-agent.js

/* eslint-disable */

export default ({ app }) => {
  app.router.beforeEach((to, from, next) => {
    // Flags
    let isLegacyBrowser = navigator.userAgent.match(/OldBrowser\/2/)
    let isInitializing = (from.name === null)
    // Check User-Agent and if page is just Initializing
    if (isLegacyBrowser && !isInitializing) {
      window.location.href = to.path
    } else {
      next()
    }
  })
}

有人可以提出更好的方法吗?

0 个答案:

没有答案