Home Web Front-end JS Tutorial Specific implementation of Vue on-demand loading

Specific implementation of Vue on-demand loading

May 14, 2018 am 11:34 AM
specific load accomplish

When packaging and building an application, the JavaScript package will become very large, affecting page loading. If we can divide the components corresponding to different routes into different code blocks, and then load the corresponding components when the route is accessed, well, this will be more efficient. This article mainly introduces the specific implementation of Vue's on-demand loading, hoping to help everyone.

Scenario

#xxx project is a single-page application, using a component-based development model. Every time you start the homepage, all components will be loaded, but At this time, just visiting the homepage has caused a large number of components to contaminate the loading.

Purpose

Only load the corresponding component when accessing the current page to avoid loading all page components. (Load on demand)

Implementation

app.vue

<template>
  <p id="app">
    <router-view/>
  </p>
</template>
Copy after login

router.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import 'babel-polyfill'
import {Promise} from 'es6-promise-polyfill'
import App from '../components/app'

// 定义路由,每个路由映射一个组件。
const Routers = [
  {
    path: '/',  // 路径
    component: resolve => require(['../components/member/index], resolve)  // 异步加载组件
  },
  {
    path: '/login',
    component: resolve => require(['../components/member/login'], resolve)
  }
]

const RouterConfig = {
  routes: Routers
}
// 创建router实例,并传递路由配置。
const router = new VueRouter(RouterConfig);
// 创建并挂载根实例。
new Vue({
  el:'#app',
  router,
  // 将h作为createElement的别名是一个通用惯例。
  render: h =>(App) 
})
Copy after login

Note: The

require() function accepts two parameters. The first parameter is an array, indicating the dependent modules, such as ['moduleA', 'moduleB']. The second parameter is a callback function, which will be called when all the previously specified modules are loaded successfully. Loaded modules are passed as parameters to this function, allowing them to be used inside the callback function.

The sample code uses an asynchronous method to load components. The require function is responsible for asynchronously introducing the component to be rendered, and resolve is responsible for asynchronous callback rendering of the component.

babel-polyfill: Transcode and compile Promise;

npm install --save babel-polyfill
Copy after login

es6-promise-polyfill solves Promise compatibility issues. For students who don’t know much about Promise, please move here

npm install --save es6-promise-polyfill
Copy after login

Related recommendations:

Steps to implement lazy loading and cross-domain implementation using Js

JS asynchronous loading method

Use Vue to load on demand to improve user experience

The above is the detailed content of Specific implementation of Vue on-demand loading. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Error loading plugin in Illustrator [Fixed] Error loading plugin in Illustrator [Fixed] Feb 19, 2024 pm 12:00 PM

Error loading plugin in Illustrator [Fixed]

How to implement dual WeChat login on Huawei mobile phones? How to implement dual WeChat login on Huawei mobile phones? Mar 24, 2024 am 11:27 AM

How to implement dual WeChat login on Huawei mobile phones?

Stremio subtitles not working; error loading subtitles Stremio subtitles not working; error loading subtitles Feb 24, 2024 am 09:50 AM

Stremio subtitles not working; error loading subtitles

How to implement the WeChat clone function on Huawei mobile phones How to implement the WeChat clone function on Huawei mobile phones Mar 24, 2024 pm 06:03 PM

How to implement the WeChat clone function on Huawei mobile phones

PHP Programming Guide: Methods to Implement Fibonacci Sequence PHP Programming Guide: Methods to Implement Fibonacci Sequence Mar 20, 2024 pm 04:54 PM

PHP Programming Guide: Methods to Implement Fibonacci Sequence

PHP Game Requirements Implementation Guide PHP Game Requirements Implementation Guide Mar 11, 2024 am 08:45 AM

PHP Game Requirements Implementation Guide

Outlook freezes when inserting hyperlink Outlook freezes when inserting hyperlink Feb 19, 2024 pm 03:00 PM

Outlook freezes when inserting hyperlink

Master how Golang enables game development possibilities Master how Golang enables game development possibilities Mar 16, 2024 pm 12:57 PM

Master how Golang enables game development possibilities

See all articles