Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 24089|Jawab: 8

[Sumber] ASP.NET Inti (dua belas) front-end JS, bundling CSS, dan kompresi

[Salin tautan]
Dipaparkan pada 2022-3-28 20:55:50 | | | |
Persyaratan: Dalam proyek MVC .NET Framework sebelumnya, JS, CSS dapat dibundel dan dikompresi menggunakan pustaka Microsoft.AspNet.Web.Optimization Microsoft. Setelah menggunakan ASP.NET Core, bagaimana cara menggabungkan dan mengompres file JS dan CSS yang ada?

Proyek .NET Framework mereferensikan hal berikut:

Kode sampel:

Mengikat

Bundling menggabungkan beberapa file menjadi satu file. Bundling mengurangi jumlah permintaan server yang diperlukan untuk merender aset web, seperti halaman web. Anda dapat membuat bundel individual sebanyak yang Anda inginkan khusus untuk CSS, JavaScript, dan lainnya. Lebih sedikit file berarti dari browser ke server atau dari layanan yang menyediakan aplikasiLebih sedikit permintaan HTTP。 Ini meningkatkan performa pemuatan beranda.

Kompres

Kecilkan menghapus karakter yang tidak perlu dari kode Anda tanpa mengubah fungsionalitas. Hasilnya adalahUkuran sumber daya yang diminta, seperti CSS, gambar, dan file JavaScript, berkurang secara signifikan。 Efek samping umum dari minifikasi termasuk mempersingkat nama variabel menjadi satu karakter dan menghapus komentar dan spasi yang tidak perlu. Pada saat yang sama, itu bisaMembingungkan kode, yang tidak kondusif bagi pesaing lain yang membaca kode sumber kami.

Peningkatan performa dari bundling dan kompresi

Tabel berikut menguraikan perbedaan antara memuat aset satu per satu dan menggunakan bundling dan minifikasi:



Ini menghemat lalu lintas dan meningkatkan kecepatan pemuatan dalam hal transportasi jaringan, sekaligus mengurangi permintaan HTTP dan meningkatkan kecepatan pemuatan.

Untuk header permintaan HTTP, browser sangat detail. Saat dibundel, metrik total byte yang dikirim berkurang secara signifikan. Waktu muat menunjukkan peningkatan yang signifikan, tetapi contoh ini berjalan secara lokal. Bundling dan minifikasi dapat dikombinasikan dengan aset yang diangkut melalui jaringan untuk mencapai peningkatan kinerja yang lebih tinggi.

ASP.NET Core tidak memiliki solusi bundel dan terkompresi sendiri, dan perlu menggunakan solusi yang disediakan oleh pihak ketiga, artikel ini menggunakan "LigerShark.WebOptimizer.Core(Perpustakaan akhirnya menelepon.)NUglifyMenerapkan penanganan JS dan CSS), alamat GitHub:Login hyperlink terlihat.

Pertama, buat proyek baru ASP.NET Core 6 dan jalankan perintah berikut untuk mereferensikan:

Buat folder statis baru di proyek wwwroot untuk menyimpan file css dan js uji. Buat file CSS dan JS baru, seperti yang ditunjukkan di bawah ini:



Ubah file Program.cs dan tambahkan layanan WebOptimizer dan middleware, kode utamanya adalah sebagai berikut:

Ketika kami mencoba memulai proyek, kami menemukan bahwa komentar dari kode CSS dan JS telah dihapus, dan file telah dikompresi, dan beberapa variabel di JS telah direduksi menjadi satu huruf, seperti yang ditunjukkan pada gambar di bawah ini:



Kemudian buat file js baru dari folder statis untuk menguji fungsi bundling.Bundel test.js dan test2.js menjadi satu file common.js(dan tidak menghasilkan file fisik common.js), kode konfigurasinya adalah sebagai berikut:

Renderingnya adalah sebagai berikut:



Referensi:

Login hyperlink terlihat.
Login hyperlink terlihat.





Mantan:C# 8.0 dapat berupa jenis referensi null
Depan:[Pertempuran aktual]. NET 6 Random menghasilkan tes angka acak
 Tuan tanah| Dipaparkan pada 2022-3-28 20:56:47 |
Resensi:

Rute titik akhir ASP.NET Core (XI) menambahkan middleware untuk menampilkan semua layanan DI
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Penjelasan terperinci tentang prioritas Konfigurasi di Core(10).
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Penjelasan terperinci tentang middleware Middleware dari Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Penjelasan rinci tentang Core Middleware
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET lubang parameter default UI Swagger di Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Inti (7) Analisis mendalam dari kode sumber kerangka kerja
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI secara manual memperoleh metode penyuntikan objek
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (lima) didasarkan pada transaksi distribusi CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) memfilter validasi model ModelState terpadu
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Inti (iii) Membuat instans secara dinamis menggunakan ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Inti (2) Mulai ulang aplikasi dengan kode
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) menggunakan caching Redis
https://www.itsvse.com/thread-9393-1-1.html
Dipaparkan pada 2022-3-29 00:38:21 |
Belajar belajar.
Dipaparkan pada 2022-4-6 12:02:33 |
Ligershark.WebOptimizer.Core dan WebMarkupMin.AspNetCore6 keduanya mencoba
 Tuan tanah| Dipaparkan pada 2022-4-6 13:45:12 |
johnyoung Dipaparkan pada 2022-4-6 12:02
Ligershark.WebOptimizer.Core dan WebMarkupMin.AspNetCore6 keduanya mencoba

Mana yang lebih baik
Dipaparkan pada 2022-4-6 14:53:12 |
Posting ini terakhir diedit oleh johnyoung pada 2022-4-6 14:56

(Saya tidak tahu cara menghapus komentar duplikat, tolong hapus posting ini ketika webmaster melihatnya)
Dipaparkan pada 2022-4-6 14:54:11 |

Saya memiliki pemahaman awal: yang pertama adalah untuk membundel dan mengompres file js dan css, yang terakhir adalah untuk mengompres halaman html dan kode js dan css dan kompresi http pada halaman, dll., dan tidak jelas apakah yang terakhir dapat menggabungkan dan mengompres file js dan css. Saya baru saja mencobanya dan tidak menggunakannya secara mendalam. Saya berharap Anda menjelajahi dan memposting artikel lain.
 Tuan tanah| Dipaparkan pada 2024-4-24 15:35:15 |
Konfigurasikan lingkungan pengembangan tanpa mengompresi css dan js, kode:




 Tuan tanah| Dipaparkan pada 2024-10-10 11:28:22 |
Front-end menggunakan Minify untuk mengompres dan menggabungkan beberapa file CSS
https://www.itsvse.com/thread-10845-1-1.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com