关于vue3中 app.vue的延迟加载

174 阅读1分钟

主要是想在加载路由什么的之前先请求一些配置参数,毕竟我的情况是首页要根据不同的配置显示不同的路由组件

一般加载App.vue是这么写的

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')

异步加载的话,天才我深思熟虑后是这么写的。我把代码贴群里大佬看见对我评论:卧槽你真牛逼!

import { createApp } from 'vue'

const initApp = async ()=>{
    // axios 请求 然后修改路由和全局变量什么的
    const app = await import('./App.vue')
    createApp(app.default).mount('#app')
}

特么的看了官方文档发现根本不需要我那么抽象

import { createApp } from 'vue'
import { defineAsyncComponent } from 'vue'
const initApp = async()  =>{
    // axios 请求 然后修改路由和全局变量什么的
    const AsyncApp = defineAsyncComponent(()=> import('./App.vue'))
    createApp(AsyncApp).mount('#app')
}