2017-09-18 2 views
1

Je veux réduire les vues rasoir (.cshtml fichiers) sur compile-temps.MVC 5 cshtml minification

Actuellement, j'utilise WebMarkupMin, mais il minifies le code HTML sur exécution,

Alors, comment puis-je rapetisser .cshtml fichiers sur la compilation?

+1

Les fichiers cshtml MVC sont compilés lors de l'exécution. Vous devrez probablement regarder un autre moteur de vue ou redéfinir le problème. –

+0

@ Locke125 - Je veux minimiser la syntaxe de Razor (avec le HTML, CSS, JS dans le fichier .cshtml), pas le HTML généré à partir du fichier .cshtml, c'est une demi-minification, pour améliorer les performances de la minification d'exécution (par WebMarkupMin) –

+0

Je suppose que vous essayez d'améliorer la performance de quelque chose, mais ce n'est peut-être pas l'endroit le plus efficace pour chercher des améliorations. Je n'utilise pas de gorgée, mais vous pourrez peut-être l'utiliser pour faire ce que vous désirez. https://www.npmjs.com/package/gulp-minify-cshtml Vous pouvez également regarder outputcache https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/controllers-and-routing/amélioration-performance-with-output-cache-cs Vous voudrez peut-être définir votre objectif en termes de gain de performance plutôt que d'une fonctionnalité spécifique car je pense qu'il peut y avoir des moyens plus simples de l'atteindre. –

Répondre

1

J'ai construit un minifilateur très simple et facile à configurer et facile à comprendre pour Razor et ASP.NET MVC 5. Il remplace juste plusieurs espaces avec un, mais qui a souvent le plus grand impact tout en ayant le moins de côté -effets.

Jetez un coup d'oeil si vous êtes intéressé: https://github.com/tompazourek/RazorHtmlMinifier.Mvc5


Habituellement, il est recommandé d'utiliser l'encodage gzip pour rapetisser les réponses HTTP, mais je trouve que si vous réduisez la taille du code HTML avant gzipping, vous pouvez toujours obtenir environ 11% de réponses plus petites en moyenne. À mon avis, ça vaut toujours le coup.