Maison  >  Article  >  interface Web  >  Comment utiliser le routage Lazy-Loading de Vue Router et son effet sur l'amélioration des performances des pages

Comment utiliser le routage Lazy-Loading de Vue Router et son effet sur l'amélioration des performances des pages

WBOY
WBOYoriginal
2023-09-15 14:10:52610parcourir

Vue Router Lazy-Loading路由的使用方法以及它对页面性能的改进效果

Comment utiliser le routage Lazy-Loading de Vue Router et son effet sur l'amélioration des performances des pages

À mesure que les applications frontales deviennent de plus en plus complexes, la gestion du routage frontal est devenue de plus en plus importante. En tant que framework frontal grand public, le Vue Router intégré de Vue.js fournit des fonctions de gestion de routage très puissantes, qui peuvent nous aider à créer des applications d'une seule page flexibles et efficaces. Parmi eux, Vue Router Lazy-Loading est une fonction très importante et pratique. Il peut charger des composants de routage à la demande, améliorant ainsi les performances de la page et l'expérience utilisateur.

Dans les développements précédents, nous chargeons généralement tous les composants de routage en même temps au démarrage de l'application. Bien que cette méthode soit simple et pratique pour le développement, lorsque l'application devient complexe et qu'il existe de nombreux composants de routage, le temps de chargement lors de l'initialisation sera trop long, réduisant ainsi la vitesse de chargement de la page. Afin de résoudre ce problème, Vue Router introduit le concept de Lazy-Loading, qui charge les composants de routage requis à la demande.

L'utilisation du Lazy-Loading de Vue Router est très simple. Il vous suffit de spécifier les propriétés du composant en tant que fonction lors de la définition de l'itinéraire, et la fonction renvoie une instruction import. Voici un exemple de code : import语句即可。下面是一个示例代码:

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: () => import('@/views/Home.vue')
  },
  {
    path: '/about',
    name: 'About',
    component: () => import('@/views/About.vue')
  }
]

const router = new VueRouter({
  routes
})

export default router

在上面的示例中,我们定义了两个路由,一个是Home,一个是About。与以往不同的是,这次我们不再通过直接指定组件的方式来定义路由的component属性,而是使用一个函数,并且在函数体内使用import语句来异步加载路由组件。

在页面中使用Lazy-Loading之后,我们可以明显地感受到页面性能上的改进。当用户访问某个路由时,该路由对应的组件将会被动态加载,而不是在应用初始化时一次性加载所有路由。这样做的好处是,可以减少首次加载所需要的时间,并且降低网络请求的数量,从而提升页面的加载速度。

另外,Lazy-Loading还可以结合Webpack的Code Splitting功能,将路由组件打包成独立的文件,从而进一步提升页面的加载速度。Webpack会根据我们定义的路由结构,自动将路由组件打包成不同的文件,这样每个页面实际需要加载的资源就会更少,从而提高了页面的并行加载能力。

在使用Vue Router Lazy-Loading时,我们还可以进行一些更高级的配置。例如,我们可以通过webpackChunkName来指定每个路由组件打包后的文件名,这样有助于我们更好地区分和管理路由组件。下面是一个示例代码:

const routes = [
  {
    path: '/',
    name: 'Home',
    component: () => import(/* webpackChunkName: "home" */ '@/views/Home')
  },
  {
    path: '/about',
    name: 'About',
    component: () => import(/* webpackChunkName: "about" */ '@/views/About')
  }
]

在上面的示例中,我们使用了webpackChunkNamerrreee

Dans l'exemple ci-dessus, nous avons défini deux routes, l'une est Home et l'autre est About. La différence avec le passé est que cette fois nous ne définissons plus l'attribut component de la route en spécifiant directement le composant. Au lieu de cela, nous utilisons une fonction et utilisons import dans le fichier. corps de fonction. instruction pour charger les composants de routage de manière asynchrone.

Après avoir utilisé le Lazy-Loading dans la page, nous pouvons évidemment ressentir l'amélioration des performances de la page. Lorsqu'un utilisateur accède à une route, les composants correspondant à la route seront chargés dynamiquement au lieu de charger toutes les routes en même temps lors de l'initialisation de l'application. L'avantage de ceci est que cela peut réduire le temps nécessaire au premier chargement et réduire le nombre de requêtes réseau, améliorant ainsi la vitesse de chargement de la page. 🎜🎜De plus, Lazy-Loading peut également être combiné avec la fonction Code Splitting de Webpack pour regrouper les composants de routage dans des fichiers indépendants, améliorant ainsi encore la vitesse de chargement des pages. Webpack regroupera automatiquement les composants de routage dans différents fichiers en fonction de la structure de routage que nous définissons, de sorte que chaque page ait réellement besoin de charger moins de ressources, améliorant ainsi la capacité de chargement parallèle de la page. 🎜🎜Lorsque nous utilisons Vue Router Lazy-Loading, nous pouvons également effectuer des configurations plus avancées. Par exemple, nous pouvons spécifier le nom de fichier packagé de chaque composant de routage via webpackChunkName, ce qui nous aidera à mieux distinguer et gérer les composants de routage. Voici un exemple de code : 🎜rrreee🎜Dans l'exemple ci-dessus, nous utilisons le commentaire webpackChunkName pour spécifier le nom du fichier empaqueté, de sorte que dans le fichier empaqueté, la réponse correspondante soit générée en fonction sur le nom du fichier de commentaires. De cette façon, nous pouvons plus facilement distinguer et appeler chaque composant de routage pendant le développement et le débogage. 🎜🎜En général, Vue Router Lazy-Loading est une fonctionnalité très pratique qui peut nous aider à optimiser les performances des pages et l'expérience utilisateur. En chargeant les composants de routage à la demande, nous pouvons réduire le temps requis pour le premier chargement et améliorer les capacités de chargement parallèle de la page. Dans le même temps, nous pouvons également combiner la fonction Code Splitting de Webpack pour améliorer encore la vitesse de chargement des pages. Dans le développement réel, nous devrions utiliser pleinement cette fonctionnalité pour offrir aux utilisateurs une meilleure expérience de chargement de page. 🎜

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:
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