Fermer

mai 19, 2020

Optimisation des performances: réduire le code HTML dans le SDK de Znode 9.X Ecommerce Framework


La vitesse est un aspect important des performances de tout site Web. Actuellement, il existe un besoin d'une solution pour améliorer la vitesse de téléchargement des pages sur le site de commerce électronique. Pour résoudre ce problème, nous avons créé une solution élégante utilisant le langage asp.net MVC et le langage C # mis en œuvre (en supprimant l'espace blanc dans notre code HTML généré) sur le client d'un site Web de commerce électronique Znode 9.X.

L'explication donnée ci-dessous fonctionne sur SDK Znode Commerce ainsi que sur ASP.NET MVC version 4 et supérieure. Il minimise le HTML généré, supprimant les commentaires et les espaces lors de l'exécution de la page, et améliore ainsi les performances du site de commerce électronique en termes de vitesse de téléchargement de la page. Le code MVC ci-dessous supprime les espaces blancs du code HTML lors de l'écriture de la page.

Avant la mise en œuvre de la fonction HTML Minify:

Dans «View Source» sur la page Web, nous voyons quelque chose comme ceci:

 1 "width =" 1024 "height =" 526 "srcset =" https://i1.wp.com/blogs.perficient.com/files/1-2.png?resize=1024%2C526&ssl=1 1024w, https: / /i1.wp.com/blogs.perficient.com/files/1-2.png?resize=300%2C154&ssl=1 300w, https://i1.wp.com/blogs.perficient.com/files/1- 2.png? Resize = 768% 2C395 & ssl = 1 768w, https://i1.wp.com/blogs.perficient.com/files/1-2.png?resize=500%2C257&ssl=1 500w, https: // i1.wp.com/blogs.perficient.com/files/1-2.png?resize=800%2C411&ssl=1 800w, https://i1.wp.com/blogs.perficient.com/files/1-2 .png? resize = 1280% 2C658 & ssl = 1 1280w, https://i1.wp.com/blogs.perficient.com/files/1-2.png?resize=750%2C386&ssl=1 750w, https: // i1 .wp.com / blogs.perficient.com / files / 1-2.png? resize = 600% 2C308 & ssl = 1 600w, https://i1.wp.com/blogs.perficient.com/files/1-2. png? resize = 640% 2C329 & ssl = 1 640w , https://i1.wp.com/blogs.perficient.com/files/1-2.png?w=1354&ssl=1 1354w "tailles =" (largeur max: 1000px) 100vw, 1000px "data-recalc- dims = "1" /></p data-recalc-dims=

Pour la "View Source" ci-dessus, nous aurions besoin de réduire ou de supprimer les espaces blancs et les commentaires en HTML.

Comme note, la taille de la page était 14,4 kB et le temps de chargement était de 2,32 s :

 Plates-formes et technologie - Guide des chefs d'entreprise sur les tendances clés du cloud

 2 "width =" 667 "height =" 157 "srcset =" https : //i0.wp.com/blogs.perficient.com/files/2-2.png? w = 667 & ssl = 1 667w, https://i0.wp.com/blogs.perficient.com/files/2- 2.png? Resize = 300% 2C71 & ssl = 1 300w, https://i0.wp.com/blogs.perficient.com/files/2-2.png?resize=500%2C118&ssl=1 500w, https: // i0.wp.com/blogs.perficient.com/files/2-2.png?resize=600%2C141&ssl=1 600w, https://i0.wp.com/blogs.perficient.com/files/2-2 .png? resize = 640% 2C151 & ssl = 1 640w "tailles =" (largeur max: 667px) 100vw, 667px "data-recalc-dims =" 1 "/></p data-recalc-dims=

Étapes pour implémenter Minify HTML dans Znode 9.X Ecommerce Framework SDK:

Ceci supprimera l'espace blanc et les commentaires dans notre HTML généré dans les projets MVC ASP.NET.

Suivez les étapes ci-dessous pour implémenter cette fonctionnalité sur Znode 9.X Commerce framework, comme ainsi que sur les projets ASP.NET MVC:

  1. Créez une nouvelle classe sous le dossier App_Start dans le projet de site Web Engine.WebStore ou n'importe où. Nommez la nouvelle classe MinifyHTMLViewPage.  3 "width =" 572 "height =" 548 "srcset =" https://i0.wp.com/blogs.perficient.com/files/3-1.png ? w = 572 & ssl = 1 572w, https://i0.wp.com/blogs.perficient.com/files/3-1.png?resize=300%2C287&ssl=1 300w, https://i0.wp.com /blogs.perficient.com/files/3-1.png?resize=500%2C479&ssl=1 500w "tailles =" (largeur max: 572px) 100vw, 572px "data-recalc-dims =" 1 "/> [19659014] Copiez le code source ci-dessous et collez-le dans le fichier de classe <strong data-recalc-dims= cs
     using System.Text.RegularExpressions;
    using System.Web.Mvc;
    
    espace de noms Znode.Engine.WebStore
    {
        classe abstraite publique MinifyHTMLViewPage : WebViewPage 
        {
            privé en lecture seule Regex rgxHtmlReg = nouveau Regex (@ "(>  s + <)", RegexOptions.Compiled);
    
            privé en lecture seule Regex rgxHtmlAll = new Regex (@ "( s + |  t  s + |  n  s * |  r  s +)", RegexOptions.Compiled);
    
            privé en lecture seule Regex rgxHtmlComments = new Regex (@ "", RegexOptions.Compiled);
    
            public override void Write (valeur d'objet)
            {
                if (valeur! = null)
                {
                    var minifyHtml = value.ToString ();
                    minifyHtml = this.rgxHtmlReg.Replace (minifyHtml, "> <");
                    minifyHtml = this.rgxHtmlAll.Replace(minifyHtml, " ");
                    minifyHtml = this.rgxHtmlComments.Replace(minifyHtml, "");
                    value = new MvcHtmlString(minifyHtml);
                }
                base.Write(value);
            }
    
            public override void WriteLiteral(object value)
            {
                if (value != null)
                {
                    var minifyHtml = value.ToString();
                    minifyHtml = this.rgxHtmlReg.Replace(minifyHtml, "> <");
                    minifyHtml = this.rgxHtmlAll.Replace (minifyHtml, "");
                    minifyHtml = this.rgxHtmlComments.Replace (minifyHtml, "");
                    valeur = minifyHtml;
                }
                base.WriteLiteral (valeur);
            }
    
        }
    }
    
  2. Accédez à Web.config sous le dossier Vues dans le projet de site Web Engine.WebStore .
  3. Ouvrez le fichier web.config
  4. Recherchez ce texte et remplacez-le avec dans le fichier Web.config.
  5. Générez la solution et exécutez le projet.

Après l'implémentation de la fonction HTML de Minify:

Nous pouvons voir que notre code source HTML est très différent:

 4 "width =" 1024 "height =" 527 "srcset =" https://i0.wp.com/blogs.perficient.com/files/4-1.png?resize=1024%2C527&ssl=1 1024w , https://i0.wp.com/blogs.perficient.com/files/4-1.png?resize=300%2C155&ssl=1 300w, https://i0.wp.com/blogs.perficient.com/ files / 4-1.png? resize = 768% 2C396 & ssl = 1 768w, https://i0.wp.com/blogs.perficient.com/files/4-1.png?resize=500%2C258&ssl=1 500w, https://i0.wp.com/blogs.perficient.com/files/4-1.png?resize=800%2C412&ssl=1 800w, https://i0.wp.com/blogs.perficient.com/files /4-1.png?resize=1280%2C659&ssl=1 1280w, https://i0.wp.com/blogs.perficient.com /files/4-1.png?resize=750%2C386&ssl=1 750w, https://i0.wp.com/blogs.perficient.com/files/4-1.png?resize=600%2C309&ssl=1 600w , https://i0.wp.com/blogs.perficient.com/files/4-1.png?resize=640%2C330&ssl=1 640w, https://i0.wp.com/blogs.perficient.com/ files / 4-1.png? w = 1361 & ssl = 1 1361w "tailles =" (largeur max: 1000px) 100vw, 1000px "data-recalc-dims =" 1 "/></p data-recalc-dims=

La taille de la page est 12,5 kB et le temps de chargement est 1,67 s :

 5 "width =" 667 "height =" 125 "srcset =" https://i1.wp.com/blogs .perficient.com / files / 5-1.png? w = 667 & ssl = 1 667w, https://i1.wp.com/blogs.perficient.com/files/5-1.png?resize=300%2C56&ssl= 1 300w, https://i1.wp.com/blogs.perficient.com/files/5-1.png?resize=500%2C94&ssl=1 500w, https://i1.wp.com/blogs.perficient. com / files / 5-1.png? resize = 600% 2C112 & ssl = 1 600w, https://i1.wp.com/blogs.perficient.com/files/5-1.png?resize=640%2C120&ssl=1 640w "tailles =" (largeur max: 667px) 100vw, 667px "data-recalc-dims =" 1 "/></p data-recalc-dims=

Donc, nous pouvons voir la différence e entre avant et après dans la taille de la page et le temps de chargement:

  • La taille de la page a réduite de 13,2%
  • Le temps de chargement de la page a réduite de 28%

En réduisant HTML, vous serez prêt d'utiliser des extraits de code pour améliorer les performances du site Web en réduisant la taille de la page d'env. 13% et temps de téléchargement de page de 28%.






Source link