Vue 路由按需加載(路由懶加載) component: resolve => require([’…/pages/home.vue’], resolve)
vue 異步組件技術 ==== 異步加載,vue-router 配置路由 , 使用 vue 的異步組件技術 , 可以實現按需加載,但是,這種情況下一個組件生成一個 js 文件
import Vue from 'vue'
import VueRouter from 'vue-router'
// "@"相當於".."
import Detail from '../pages/goodsDetail'
import Msg from '../components/message.vue'
// 使用路由
Vue.use(VueRouter)
export default new VueRouter({
mode: 'history',
routes: [
{
// 進行路由配置,規定'/'引入到home組件
path: '/',
component: resolve => require(['../pages/home.vue'], resolve),
meta: {
title: 'home',
},
},
{
path: '/msg',
component: Msg,
},
{
path: '/detail',
component: Detail,
children: [
{
path: 'msg',
component: Msg,
},
],
},
],
})
component: resolve => require(['../pages/home.vue'], resolve)
如果用 import 引入的話,當項目打包時路由里的所有 component 都會打包在一個 js 中,造成進入首頁時,需要加載的內容過多,時間相對比較長
當你用 require 這種方式引入的時候,會將你的 component 分別打包成不同的 js,加載的時候也是按需加載,只用訪問這個路由網址時才會加載這個 js
打包的時候看看目錄結構就明白