vue -- 路由懒加载
vue的路由懒加载
我们可以把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件。
- component可以是一个箭头函数,我们可以使用动态 import语法来定义代码分块点;
- 如果想在network里面看到动态加载的组件名字,可以加webpackChunkName;
- 同时要在webpack.base.conf.js里面的output里面的filename下面加上chunkFileName;
// router里面的index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'home', /* * 使用动态组件,component可以是一个箭头函数 * @表示src目录 * 如果想在network里面看到动态加载的组件名字,可以加webpackChunkName,同时要在webpack.base.conf.js里面的output里面的filename下面加上chunkFileName * network里面动态加载模块名称 */ component: () => import(/* webpackChunkName: 'home' */'@/pages/Homes') }, { path: '/todos', name: 'Todos', component: () => import(/* webpackChunkName: 'todo' */'@/pages/Todos') } ] })
注意 上面的@代表当前src目录,具体可以去参考webpack的配置;
webpack.base.conf.js里面添加 chunkFilename: '[name].js'
output: { path: config.build.assetsRoot, filename: '[name].js', // 需要配置的地方 chunkFilename: '[name].js', publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath }