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 相关文章推荐
ExtJs之带图片的下拉列表框插件
Mar 04 Javascript
jQuery图片渐变特效的简单实现
Jun 25 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
Nov 01 Javascript
ionic开发中点击input时键盘自动弹出
Dec 23 Javascript
浅谈Node异步编程的机制
Oct 18 Javascript
Javasript设计模式之链式调用详解
Apr 26 Javascript
AngularJS 前台分页实现的示例代码
Jun 07 Javascript
vue中将html字符串转换成html后遇到的问题小结
Dec 10 Javascript
生产制造追溯系统之再说条码打印
Jun 03 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
Javascript实现打鼓效果
Jan 29 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实现微信公众平台账号自定义菜单类
2014/12/02 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
人工神经网络算法知识点总结
2019/06/11 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
李宁官方网店:中国运动品牌
2017/11/02 全球购物
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
总经理驾驶员岗位职责
2013/12/04 职场文书
大学学习生活感言
2014/01/18 职场文书
顶撞领导检讨书
2014/01/29 职场文书
《大自然的语言》教学反思
2014/04/08 职场文书
租房合同协议书
2014/04/09 职场文书
求职信的正确写法
2014/07/10 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
JS数组的常用方法整理
2021/03/31 Javascript