Summary of 3 ways to lazy load vue-router

Summary of 3 ways to lazy load vue-router

Not using lazy loading

import Vue from 'vue';
import Router from 'vue-router';
import HelloWorld from '@components/HelloWorld';
Vue.use(Router);
export default new Router({
routes:[
	{path:'./',
	name:'HelloWorld',
	component:HelloWorld
	}
]
})

vue asynchronous component

component:resolve=>{reuqire(['The routing address to be loaded']),resolve)

import Vue from 'vue';
import Router from 'vue-router';
const HelloWorld=resolve=>{require(["@/components/HelloWorld"],resolve}
Vue.use(Router);
export default new Router({
routes:[
	{path:'./',
	name:'HelloWorld',
	component:HelloWorld
	}
]
})

ES6 import()

import Vue from 'vue';
import Router from 'vue-router';
import HelloWorld=()=>import('@/components/HelloWorld');
Vue.use('Router')
export default new Router({
	routes:[{
	{path:'./',
	name:'HelloWorld',
	component:HelloWorld
	}
	}]
})

webpack's require.ensure()

require.ensure can load resources on demand, including js, css, etc. It will package the required files separately and will not package them together with the main file.

The first parameter is an array, indicating the modules required by the second parameter, which will be loaded in advance.

The second is the callback function. In this callback function, the required file will be packaged into a separate chunk and will not be packaged together with the main file. In this way, two chunks are generated. Only the main file is loaded during the first load.

The third parameter is the error callback.

The fourth parameter is the file name of the separately packaged chunk

import Vue from 'vue';
import Router from 'vue-router';
const HelloWorld=resolve=>{
		require.ensure(['@/components/HelloWorld'],()=>{
			resolve(require('@/components/HelloWorld'))
		})
	}
Vue.use('Router')
export default new Router({
	routes:[{
	{path:'./',
	name:'HelloWorld',
	component:HelloWorld
	}
	}]
})

Summarize

This concludes this article about the three ways of lazy loading of vue-router. For more relevant content on lazy loading of vue-router, please search for previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Vue router passes parameters and solves the problem of parameter loss when refreshing the page
  • How to use Vue-router routing
  • Two implementation codes of Vue-router programmatic navigation
  • Vue-router routing lazy loading and 3 ways to implement it
  • Detailed explanation of the difference between hash mode and history mode in Vue-router
  • vue-router defines meta information meta operation
  • Vue router installation and usage analysis
  • Initial practice of vue3.0+vue-router+element-plus
  • How to handle the loss of parameters when refreshing the page when passing parameters to vue router

<<:  Solution to changing the data storage location of the database in MySQL 5.7

>>:  Detailed explanation of Nginx access restriction configuration

Recommend

Implementation of local migration of docker images

I've been learning Docker recently, and I oft...

Summary of new usage of vi (vim) under Linux

I have used the vi editor for several years, but ...

Python 3.7 installation tutorial for MacBook

The detailed process of installing python3.7.0 on...

HTML cellpadding and cellspacing attributes explained in pictures

Cell -- the content of the table Cell margin (tabl...

In-depth analysis of JDBC and MySQL temporary tablespace

background Temporary tablespaces are used to mana...

Implementation of React virtual list

Table of contents 1. Background 2. What is a virt...

Detailed explanation of identifying files with the same content on Linux

Preface Sometimes file copies amount to a huge wa...

Unicode signature BOM detailed description

Unicode Signature BOM - What is the BOM? BOM is th...

Examples of MySQL and Python interaction

Table of contents 1. Prepare data Create a data t...

MySQL learning tutorial clustered index

Clustering is actually relative to the InnoDB dat...