Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 24089|Απάντηση: 8

[Πηγή] ASP.NET Core (δώδεκα) front-end JS, ομαδοποίηση CSS και συμπίεση

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2022-3-28 20:55:50 | | | |
απαιτήσεις: Σε προηγούμενα έργα .NET Framework MVC, το JS, το CSS μπορούν να ομαδοποιηθούν και να συμπιεστούν χρησιμοποιώντας τη βιβλιοθήκη Microsoft.AspNet.Web.Optimization της Microsoft. Μετά τη χρήση του ASP.NET Core, πώς μπορώ να ομαδοποιήσω και να συμπιέσω υπάρχοντα αρχεία JS και CSS;

Το έργο .NET Framework αναφέρει τα ακόλουθα:

Δείγμα κώδικα:

δεσμευτικός

Η ομαδοποίηση συνδυάζει πολλά αρχεία σε ένα μόνο αρχείο. Η ομαδοποίηση μειώνει τον αριθμό των αιτημάτων διακομιστή που απαιτούνται για την απόδοση ενός στοιχείου ιστού, όπως μια ιστοσελίδα. Μπορείτε να δημιουργήσετε όσα μεμονωμένα πακέτα θέλετε ειδικά για CSS, JavaScript και άλλα. Λιγότερα αρχεία σημαίνουν από το πρόγραμμα περιήγησης στον διακομιστή ή από την υπηρεσία που παρέχει την εφαρμογήΛιγότερα αιτήματα HTTP。 Αυτό βελτιώνει την απόδοση φόρτωσης της αρχικής σελίδας.

κομπρέσα

Ελαχιστοποιήστε την αφαίρεση περιττών χαρακτήρων από τον κώδικά σας χωρίς να αλλάξετε τη λειτουργικότητα. Το αποτέλεσμα ήτανΤο μέγεθος των ζητούμενων πόρων, όπως CSS, εικόνες και αρχεία JavaScript, μειώνεται σημαντικά。 Οι συνήθεις παρενέργειες της ελαχιστοποίησης περιλαμβάνουν τη συντόμευση των ονομάτων μεταβλητών σε έναν χαρακτήρα και την αφαίρεση σχολίων και περιττών διαστημάτων. Ταυτόχρονα, μπορεί ναΜπερδέψτε τον κώδικα, κάτι που δεν ευνοεί άλλους ανταγωνιστές να διαβάσουν τον πηγαίο μας κώδικα.

Κέρδη απόδοσης από τη ομαδοποίηση και τη συμπίεση

Ο παρακάτω πίνακας περιγράφει τις διαφορές μεταξύ της φόρτωσης των πάγιων στοιχείων μεμονωμένα και της χρήσης ομαδοποίησης και ελαχιστοποίησης:



Εξοικονομεί κίνηση και βελτιώνει την ταχύτητα φόρτωσης όσον αφορά τη μεταφορά δικτύου, ενώ παράλληλα μειώνει τα αιτήματα HTTP και βελτιώνει την ταχύτητα φόρτωσης.

Για κεφαλίδες αιτημάτων HTTP, το πρόγραμμα περιήγησης είναι πολύ λεπτομερές. Όταν ομαδοποιείται, η μέτρηση των συνολικών byte που αποστέλλονται μειώνεται σημαντικά. Οι χρόνοι φόρτωσης παρουσιάζουν σημαντικές βελτιώσεις, αλλά αυτό το παράδειγμα εκτελείται τοπικά. Η ομαδοποίηση και η ελαχιστοποίηση μπορούν να συνδυαστούν με περιουσιακά στοιχεία που μεταφέρονται μέσω του δικτύου για την επίτευξη υψηλότερων κερδών απόδοσης.

ASP.NET Το Core δεν έχει τη δική του ομαδοποιημένη και συμπιεσμένη λύση και πρέπει να χρησιμοποιήσει μια λύση που παρέχεται από τρίτο μέρος, αυτό το άρθρο χρησιμοποιεί "LigerShark.WebOptimizer.Πυρήνας(Η βιβλιοθήκη τελικά τηλεφώνησε.)NUglifyΕφαρμογή χειρισμού JS και CSS), διεύθυνση GitHub:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Αρχικά, δημιουργήστε ένα νέο έργο ASP.NET Core 6 και εκτελέστε την ακόλουθη εντολή για αναφορά:

Δημιουργήστε έναν νέο στατικό φάκελο στο έργο wwwroot για να αποθηκεύσετε τα δοκιμαστικά αρχεία css και js. Δημιουργήστε ένα νέο αρχείο CSS και JS, όπως φαίνεται παρακάτω:



Τροποποιήστε το αρχείο Program.cs και προσθέστε την υπηρεσία WebOptimizer και το ενδιάμεσο λογισμικό, ο κύριος κώδικας έχει ως εξής:

Όταν προσπαθούμε να ξεκινήσουμε το έργο, διαπιστώνουμε ότι τα σχόλια τόσο του κώδικα CSS όσο και του κώδικα JS έχουν διαγραφεί και τα αρχεία έχουν συμπιεστεί και ορισμένες μεταβλητές στο JS έχουν μειωθεί σε ένα μόνο γράμμα, όπως φαίνεται στο παρακάτω σχήμα:



Στη συνέχεια, δημιουργήστε ένα νέο αρχείο js από τον στατικό φάκελο για να δοκιμάσετε τη λειτουργία ομαδοποίησης.Ομαδοποιήστε test.js και test2.js σε ένα μόνο αρχείο common.js(και δεν δημιουργεί common.js φυσικό αρχείο), ο κωδικός διαμόρφωσης είναι ο εξής:

Οι αποδόσεις είναι οι εξής:



Αναφορά:

Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.





Προηγούμενος:Το C# 8.0 μπορεί να είναι ένας μηδενικός τύπος αναφοράς
Επόμενος:[Πραγματική μάχη]. Το NET 6 Random δημιουργεί μια δοκιμή τυχαίων αριθμών
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2022-3-28 20:56:47 |
Αναθεώρηση:

ASP.NET δρομολόγηση τελικού σημείου Core (XI) προσθέτει ενδιάμεσο λογισμικό για την εμφάνιση όλων των υπηρεσιών DI
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Λεπτομερής επεξήγηση των προτεραιοτήτων διαμόρφωσης στο Core(10).
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Λεπτομερής επεξήγηση του ενδιάμεσου λογισμικού Middleware του Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Λεπτομερής επεξήγηση του Core Middleware
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET λάκκο των προεπιλεγμένων παραμέτρων του Swagger UI στο Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Πυρήνας (7) Σε βάθος ανάλυση του πηγαίου κώδικα πλαισίου
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Πυρήνας (VI) Το DI λαμβάνει χειροκίνητα τη μέθοδο έγχυσης αντικειμένων
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Ο πυρήνας (πέντε) βασίζεται σε κατανεμημένες συναλλαγές της ΚΓΠ
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Επικύρωση ενοποιημένου μοντέλου ModelState φίλτρου Core(4)
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Πυρήνας (iii) Δημιουργήστε δυναμικά παρουσίες χρησιμοποιώντας το ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Πυρήνας (2) Επανεκκινήστε την εφαρμογή με κωδικό
https://www.itsvse.com/thread-9480-1-1.html

Το ASP.NET Core (1) χρησιμοποιεί προσωρινή αποθήκευση Redis
https://www.itsvse.com/thread-9393-1-1.html
Δημοσιεύτηκε στις 2022-3-29 00:38:21 |
Μάθε να μαθαίνεις.
Δημοσιεύτηκε στις 2022-4-6 12:02:33 |
Το Ligershark.WebOptimizer.Core και το WebMarkupMin.AspNetCore6 προσπάθησαν και τα δύο
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2022-4-6 13:45:12 |
johnyoung Δημοσιεύτηκε στις 2022-4-6 12:02
Το Ligershark.WebOptimizer.Core και το WebMarkupMin.AspNetCore6 προσπάθησαν και τα δύο

Ποιό είναι καλύτερο
Δημοσιεύτηκε στις 2022-4-6 14:53:12 |
Αυτή η ανάρτηση επεξεργάστηκε τελευταία φορά από johnyoung στις 2022-4-6 14:56

(Δεν ξέρω πώς να διαγράψω διπλότυπα σχόλια, παρακαλώ διαγράψτε αυτήν την ανάρτηση όταν τη δει ο webmaster)
Δημοσιεύτηκε στις 2022-4-6 14:54:11 |

Έχω μια προκαταρκτική κατανόηση: το πρώτο είναι η ομαδοποίηση και συμπίεση αρχείων js και css, το δεύτερο είναι η συμπίεση κώδικα html και js και css της σελίδας και συμπίεση http στη σελίδα κ.λπ., και δεν είναι σαφές εάν το δεύτερο μπορεί να ομαδοποιήσει και να συμπιέσει αρχεία js και css. Απλά το δοκίμασα και δεν το χρησιμοποίησα σε βάθος. Ανυπομονώ να εξερευνήσετε και να δημοσιεύσετε ένα άλλο άρθρο.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2024-4-24 15:35:15 |
Διαμορφώστε το περιβάλλον ανάπτυξης χωρίς συμπίεση css και js, κώδικα:




 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2024-10-10 11:28:22 |
Το front-end χρησιμοποιεί το Minify για τη συμπίεση και τη συγχώνευση πολλών αρχείων CSS
https://www.itsvse.com/thread-10845-1-1.html
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com