面试题答案
一键面试在Vue Router配置文件中懒加载路由配置的写法
在Vue Router配置文件(通常是router/index.js
)中,使用箭头函数结合import()
语法来实现组件懒加载。示例如下:
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/home',
name: 'Home',
component: () => import('@/components/Home.vue')
},
{
path: '/about',
name: 'About',
component: () => import('@/components/About.vue')
}
]
});
这里通过import()
语法,Webpack会将对应的组件代码进行单独打包,只有在路由被访问时才会加载该组件。
Webpack支持懒加载的特性
- 代码分割(Code Splitting):Webpack的代码分割特性允许将代码拆分成多个包(chunk)。
import()
语法触发了Webpack的代码分割功能,使得组件可以被单独打包成一个chunk。这样在应用加载时,不会一次性加载所有组件代码,只有在需要时才加载相应的chunk,从而提高应用的初始加载性能。 - 动态导入(Dynamic Imports):
import()
是ES2020引入的动态导入语法,Webpack支持这种语法并将其用于实现组件懒加载。Webpack在构建过程中识别import()
,并将其对应的模块进行分离打包。在运行时,当路由触发时,JavaScript引擎会根据import()
返回的Promise来加载对应的模块。