MST

星途 面试题库

面试题:Vue异步组件性能优化之懒加载时机选择

在Vue项目中使用异步组件进行性能优化,简述在哪些场景下选择懒加载异步组件比较合适,并且说明如何配置才能实现组件的按需加载?
25.5万 热度难度
前端开发Vue

知识考点

AI 面试

面试题答案

一键面试

适合懒加载异步组件的场景

  1. 页面组件体积较大:例如包含大量图表、复杂交互逻辑的组件,将其设置为异步组件,可避免初始加载时下载过大的代码包,提升首屏加载速度。
  2. 不常使用的组件:如一些特定功能(像用户反馈、高级设置等)的组件,只有在用户特定操作时才会用到,懒加载可以节省初始加载资源。
  3. 路由组件:对于某些路由对应的页面组件,在路由切换时才加载,而不是在应用启动时就全部加载,减少应用启动时间。

实现组件按需加载的配置方式

  1. 使用import()语法 在Vue单文件组件中,使用ES2020的import()动态导入语法。例如:
import Vue from 'vue';
import Router from 'vue-router';

Vue.use(Router);

const router = new Router({
  routes: [
    {
      path: '/home',
      name: 'Home',
      component: () => import('./components/Home.vue')
    }
  ]
});

export default router;

这里通过箭头函数包裹import('./components/Home.vue')来实现组件的异步加载,当路由切换到/home时才会加载Home.vue组件。 2. 在组件定义中使用 如果不是在路由中,而是在普通组件内使用异步组件,也可以这样写:

export default {
  components: {
    AsyncComponent: () => import('./AsyncComponent.vue')
  }
}

在模板中使用<AsyncComponent></AsyncComponent>时,AsyncComponent.vue组件才会被加载。