我试图强制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()
}
})
}
有人可以提出更好的方法吗?