perf: 新版 vue 已修复热更新导致的页面白屏问题,项目移除相关的代码
This commit is contained in:
parent
0f1afe1a94
commit
8c7f4184a1
@ -5,7 +5,6 @@ import { ElMessage } from "element-plus"
|
|||||||
import { setRouteChange } from "@/hooks/useRouteListener"
|
import { setRouteChange } from "@/hooks/useRouteListener"
|
||||||
import { useTitle } from "@/hooks/useTitle"
|
import { useTitle } from "@/hooks/useTitle"
|
||||||
import { getToken } from "@/utils/cache/cookies"
|
import { getToken } from "@/utils/cache/cookies"
|
||||||
import { fixBlankPage } from "@/utils/fix-blank-page"
|
|
||||||
import routeSettings from "@/config/route"
|
import routeSettings from "@/config/route"
|
||||||
import isWhiteList from "@/config/white-list"
|
import isWhiteList from "@/config/white-list"
|
||||||
import NProgress from "nprogress"
|
import NProgress from "nprogress"
|
||||||
@ -15,7 +14,6 @@ const { setTitle } = useTitle()
|
|||||||
NProgress.configure({ showSpinner: false })
|
NProgress.configure({ showSpinner: false })
|
||||||
|
|
||||||
router.beforeEach(async (to, _from, next) => {
|
router.beforeEach(async (to, _from, next) => {
|
||||||
fixBlankPage()
|
|
||||||
NProgress.start()
|
NProgress.start()
|
||||||
const userStore = useUserStoreHook()
|
const userStore = useUserStoreHook()
|
||||||
const permissionStore = usePermissionStoreHook()
|
const permissionStore = usePermissionStoreHook()
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { ref, watchEffect } from "vue"
|
import { ref, watchEffect } from "vue"
|
||||||
import store from "@/store"
|
|
||||||
import { defineStore } from "pinia"
|
import { defineStore } from "pinia"
|
||||||
import { useSettingsStore } from "./settings"
|
import { useSettingsStore } from "./settings"
|
||||||
import { type RouteLocationNormalized } from "vue-router"
|
import { type RouteLocationNormalized } from "vue-router"
|
||||||
@ -94,8 +93,3 @@ export const useTagsViewStore = defineStore("tags-view", () => {
|
|||||||
delAllCachedViews
|
delAllCachedViews
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
/** 在 setup 外使用 */
|
|
||||||
export function useTagsViewStoreHook() {
|
|
||||||
return useTagsViewStore(store)
|
|
||||||
}
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
import { useTagsViewStoreHook } from "@/store/modules/tags-view"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 功能:修复 <transition> 和 <keep-alive> 组合使用导致的页面空白
|
|
||||||
* 原因:似乎是 Vue 本身的 BUG:https://github.com/vuejs/core/issues/7121
|
|
||||||
* 复现:在不使用该函数的情况下,可以通过如下步骤复现:
|
|
||||||
* 1. 进入一个页面
|
|
||||||
* 2. 修改该页面的 TS 代码并保存
|
|
||||||
* 3. 回到浏览器切换一下页面
|
|
||||||
* 4. 结果:内容区没有加载出来呈现空白状态
|
|
||||||
*/
|
|
||||||
export const fixBlankPage = () => {
|
|
||||||
const tagsViewStore = useTagsViewStoreHook()
|
|
||||||
tagsViewStore.cachedViews = [...tagsViewStore.cachedViews]
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user