diff --git a/plugins/keep-alive.js b/plugins/keep-alive.js index 7308da642..93a8a1767 100644 --- a/plugins/keep-alive.js +++ b/plugins/keep-alive.js @@ -2,27 +2,30 @@ import Vue from 'vue' let lastRoute const keepAliveHook = {} -keepAliveHook.install = Vue => { - const keepAlivePages = process.env.keepAlivePages || [] - Vue.mixin({ - // Save route if this instance is a page (has metaInfo) - mounted() { - if (this.$metaInfo) { - lastRoute = this.$route.name +if (!process.server) { + keepAliveHook.install = Vue => { + const keepAlivePages = process.env.keepAlivePages || [] + + Vue.mixin({ + // Save route if this instance is a page (has metaInfo) + mounted() { + if (this.$metaInfo) { + lastRoute = this.$route.name + } + }, + activated() { + if (this.$metaInfo) { + lastRoute = this.$route.name + } + }, + deactivated() { + // If this is a page and we don't want it to be kept alive + if (this.$metaInfo && !keepAlivePages.includes(lastRoute)) { + this.$destroy() + } } - }, - activated() { - if (this.$metaInfo) { - lastRoute = this.$route.name - } - }, - deactivated() { - // If this is a page and we don't want it to be kept alive - if (this.$metaInfo && !keepAlivePages.includes(lastRoute)) { - this.$destroy() - } - } - }) + }) + } + Vue.use(keepAliveHook) } -Vue.use(keepAliveHook)