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 相关文章推荐
载入进度条 效果
Jul 08 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
Jun 04 Javascript
jQuery实现的背景动态变化导航菜单效果
Aug 24 Javascript
js实现简单的省市县三级联动效果实例
Feb 18 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
Mar 08 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
Jun 24 Javascript
Web前端开发之水印、图片验证码
Nov 27 Javascript
如何选择适合你的JavaScript框架
Nov 20 Javascript
Vue.js添加组件操作示例
Jun 13 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
Mar 26 Javascript
微信小程序3D轮播实现代码
Sep 19 Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 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
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
JavaScript 高级语法介绍
2009/06/15 Javascript
JavaScript 乱码问题
2009/08/06 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
JS module的导出和导入的实现代码
2019/02/25 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
python判断windows隐藏文件的方法
2014/03/21 Python
Python判断某个用户对某个文件的权限
2016/10/13 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
Python文件读写常见用法总结
2019/02/22 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
匡威德国官网:Converse德国
2019/01/26 全球购物
八年级物理教学反思
2014/01/19 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
三方合作协议书范本
2014/04/18 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
Python find()、rfind()方法及作用
2022/12/24 Python