vue路由懒加载的实现方法


Posted in Javascript onMarch 12, 2018

本文介绍了vue的路由懒加载,分享给大家,具体如下:

我们可以把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件。

  1. component可以是一个箭头函数,我们可以使用动态 import语法来定义代码分块点;
  2. 如果想在network里面看到动态加载的组件名字,可以加webpackChunkName;
  3. 同时要在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
}

分析

创建了home和todos两个组件使用了路由懒加载,配置好之后我们执行npm run dev来运行项目,打开network之后刷新一下,我们会发现加载了home.js,我们会发现和上面定义的webpackChunkName名字一样,同时点todos会加载todo.js。这就是路由懒加载的简单使用。

其他

在main.js里面项目的入口我们可以使用template的语法,也可以使用render函数

new Vue({
 el: '#app',
 router,
 components: { App },
 /*
 * 这里使用的template的语法
 * 也可以使用render函数,直接return一个html结构
 */
 // template: '<App/>'
 render() {

  return (
   <div>
    <App></App>
   </div>
  )
 } 
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript Firefox与IE 替换节点的方法
Feb 24 Javascript
深入理解JavaScript定时机制
Oct 29 Javascript
jquery复选框全选/取消示例
Dec 30 Javascript
jquery实现select选中行、列合计示例
Apr 25 Javascript
JavaScript实现级联菜单的方法
Jun 29 Javascript
AngularJS入门教程之迭代器过滤详解
Aug 18 Javascript
Vue+mui实现图片的本地缓存示例代码
May 24 Javascript
vue-router重定向不刷新问题的解决
Jun 25 Javascript
利用Promise自定义一个GET请求的函数示例代码
Mar 20 Javascript
详解基于Vue的支持数据双向绑定的select组件
Sep 02 Javascript
layer 刷新某个页面的实现方法
Sep 05 Javascript
JS+canvas五子棋人机对战实现步骤详解
Jun 04 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 #Javascript
详解vuex的简单使用
Mar 12 #Javascript
js提取中文拼音首字母的封装工具类
Mar 12 #Javascript
基于express中路由规则及获取请求参数的方法
Mar 12 #Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 #Javascript
javascript变量提升和闭包理解
Mar 12 #Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 #Javascript
You might like
深入理解PHP中的Streams工具
2015/07/03 PHP
javascript整除实现代码
2010/11/23 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
nodejs教程之入门
2014/11/21 NodeJs
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
python实现简单购物商城
2016/05/21 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
对Django中内置的User模型实例详解
2019/08/16 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
explicit和implicit的含义
2012/11/15 面试题
商场中秋节广播稿
2014/01/17 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
起诉书范文
2015/05/20 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
Python基础之数据结构详解
2021/04/28 Python
canvas绘制折线路径动画实现
2021/05/12 Javascript
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android