Maison interface Web js tutoriel Implémentation spécifique du chargement à la demande de Vue

Implémentation spécifique du chargement à la demande de Vue

May 14, 2018 am 11:34 AM
spécifique 加载 实现

Lors du packaging et de la création d'une application, le package JavaScript peut devenir très volumineux, affectant le chargement des pages. Si nous pouvons diviser les composants correspondant à différentes routes en différents blocs de code, puis charger les composants correspondants lors de l'accès à la route, eh bien, ce sera plus efficace. Cet article présente principalement l'implémentation spécifique du chargement à la demande de Vue, dans l'espoir d'aider tout le monde.

Scénario

En tant qu'application monopage, le projet xxx adopte un modèle de développement basé sur des composants Chaque fois que vous démarrez la page d'accueil, tous les composants seront chargés, mais à ce moment-là, la simple visite de la page d'accueil provoquait la contamination d'un grand nombre de composants lors du chargement.

Objectif

Chargez uniquement le composant correspondant lors de l'accès à la page actuelle pour éviter de charger tous les composants de la page. (Chargement à la demande)

Implémentation

app.vue

<template>
  <p id="app">
    <router-view/>
  </p>
</template>
Copier après la connexion

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) 
})
Copier après la connexion

Remarque :

la fonction require() accepte deux paramètres. Le premier paramètre est un tableau, indiquant les modules dépendants, tels que ['moduleA', 'moduleB']. Le deuxième paramètre est une fonction de rappel, qui sera appelée lorsque tous les modules précédemment spécifiés seront chargés avec succès. Les modules chargés sont passés en paramètres à cette fonction, ce qui leur permet d'être utilisés dans la fonction de rappel.

L'exemple de code utilise une méthode asynchrone pour charger les composants. La fonction require est responsable de l'introduction de manière asynchrone du composant à restituer, tandis que la résolution est responsable du rendu de rappel asynchrone du composant.

babel-polyfill : transcodez et compilez Promise

npm install --save babel-polyfill
Copier après la connexion

es6-promise-polyfill résout les problèmes de compatibilité de Promise ; Pour les étudiants qui ne connaissent pas grand-chose à Promise, veuillez vous rendre ici

npm install --save es6-promise-polyfill
Copier après la connexion

Recommandations associées :

Étapes pour implémenter le chargement paresseux et l'implémentation inter-domaines à l'aide de Js

Méthode de chargement asynchrone JS

Utilisez Vue pour charger à la demande afin d'améliorer l'expérience utilisateur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Erreur de chargement du plugin dans Illustrator [Corrigé] Erreur de chargement du plugin dans Illustrator [Corrigé] Feb 19, 2024 pm 12:00 PM

Erreur de chargement du plugin dans Illustrator [Corrigé]

Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ? Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ? Mar 24, 2024 am 11:27 AM

Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ?

Les sous-titres Stremio ne fonctionnent pas ; erreur lors du chargement des sous-titres Les sous-titres Stremio ne fonctionnent pas ; erreur lors du chargement des sous-titres Feb 24, 2024 am 09:50 AM

Les sous-titres Stremio ne fonctionnent pas ; erreur lors du chargement des sous-titres

Comment implémenter la fonction de clonage WeChat sur les téléphones mobiles Huawei Comment implémenter la fonction de clonage WeChat sur les téléphones mobiles Huawei Mar 24, 2024 pm 06:03 PM

Comment implémenter la fonction de clonage WeChat sur les téléphones mobiles Huawei

Guide de programmation PHP : méthodes pour implémenter la séquence de Fibonacci Guide de programmation PHP : méthodes pour implémenter la séquence de Fibonacci Mar 20, 2024 pm 04:54 PM

Guide de programmation PHP : méthodes pour implémenter la séquence de Fibonacci

Outlook se bloque lors de l'insertion d'un lien hypertexte Outlook se bloque lors de l'insertion d'un lien hypertexte Feb 19, 2024 pm 03:00 PM

Outlook se bloque lors de l'insertion d'un lien hypertexte

Découvrez comment Golang offre des possibilités de développement de jeux Découvrez comment Golang offre des possibilités de développement de jeux Mar 16, 2024 pm 12:57 PM

Découvrez comment Golang offre des possibilités de développement de jeux

Guide de mise en œuvre des exigences du jeu PHP Guide de mise en œuvre des exigences du jeu PHP Mar 11, 2024 am 08:45 AM

Guide de mise en œuvre des exigences du jeu PHP

See all articles