Rumah hujung hadapan web tutorial js Memodenkan Sudut: Apa yang Baharu dalam Sudut 19

Memodenkan Sudut: Apa yang Baharu dalam Sudut 19

Nov 30, 2024 pm 02:00 PM

Modernizing Angular: What

Angular 19 telah tiba secara rasmi dan ia padat dengan pelbagai ciri yang bertujuan untuk meningkatkan pengalaman, prestasi dan kebolehsuaian pembangun.

Dalam artikel ini, saya akan membimbing anda melalui sorotan utama dan perkara yang menjadikan Angular 19 sebagai langkah penting ke hadapan untuk pembangunan web moden.

1. Penghidratan Bertambah: Pengubah Permainan untuk SSR

Pengenalan penghidratan tambahan dalam Angular 19 membawa Perenderan Sisi Pelayan (SSR) ke tahap yang lebih tinggi. Tidak seperti pendekatan penghidratan penuh tradisional, penghidratan tambahan membenarkan komponen yang diberikan pelayan untuk menghidrat hanya apabila mereka memasuki port pandangan atau menjadi interaktif.

Ini menghasilkan masa muat yang lebih cepat dan pengalaman pengguna yang lebih baik. Ciri ini kini berada dalam pratonton pembangun, tetapi ia menunjukkan janji yang baik untuk mengoptimumkan beban awal dan meningkatkan markah Lighthouse.

Untuk mencapai matlamat ini, Angular bekerjasama dengan Chrome Aurora untuk membawakan pengalaman SSR yang lebih lancar yang boleh disesuaikan dengan penggunaan dunia sebenar, memfokuskan pada penghidratan malas. Pembangun kini boleh menggunakan arahan seperti @defer untuk mengawal dengan tepat apabila komponen harus terhidrat, menjadikan proses itu sangat cekap.

import { provideClientHydration, withIncrementalHydration } from '@angular/platform-browser';

bootstrapApplication(AppComponent, {
  providers: [
    provideClientHydration(withIncrementalHydration())
  ]
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
@defer (hydrate on viewport) {
  <shopping-cart></shopping-cart>
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

2. Ulangan Acara: Memastikan Interaksi Pengguna Lancar

Masalah biasa dalam apl yang diberikan sebelah pelayan ialah kelewatan antara interaksi pengguna dan JavaScript yang bertanggungjawab untuk mengendalikan interaksi yang dimuatkan.

Main semula acara, kini didayakan secara lalai dalam Angular 19, menangkap peristiwa pengguna semasa pemuatan awal dan memainkannya semula apabila JavaScript yang diperlukan tersedia. Ini memastikan pengalaman pengguna yang lancar, walaupun apl masih dalam proses penghidratan.

Penghantaran acara dikuasakan oleh perpustakaan yang sama yang digunakan oleh Carian Google (Wiz) dan telah diuji oleh berbilion pengguna.

Untuk mendayakan main semula acara, Angular menggunakan persediaan berikut dalam pembekal penghidratan:

bootstrapApplication(App, {
  providers: [
    provideClientHydration(withEventReplay())
  ]
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini memastikan bahawa sebarang interaksi pengguna yang berlaku sebelum JavaScript dimuatkan sepenuhnya tidak hilang, memberikan pengalaman yang lancar.

3. Mod Render Tahap Laluan: Kawalan Halus Ke Atas Rendering

Angular 19 memperkenalkan mod pemaparan peringkat laluan, yang membolehkan pembangun menentukan cara laluan individu dalam aplikasi harus diberikan—sama ada pada pelayan, klien atau prapaparan semasa proses binaan.

Ini memberikan kawalan terperinci ke atas strategi pemaparan, membolehkan pembangun mengoptimumkan prestasi dan SEO berdasarkan keperluan khusus setiap laluan.

Contoh: Laluan log masuk boleh diberikan bahagian pelayan untuk masa pemuatan awal yang lebih pantas, manakala laluan papan pemuka boleh diberikan bahagian pelanggan untuk meningkatkan interaktiviti. Fleksibiliti ini membantu memastikan setiap bahagian aplikasi dioptimumkan untuk kes penggunaan yang dimaksudkan.

import { provideClientHydration, withIncrementalHydration } from '@angular/platform-browser';

bootstrapApplication(AppComponent, {
  providers: [
    provideClientHydration(withIncrementalHydration())
  ]
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Angular juga menyediakan cara mudah untuk menyelesaikan parameter laluan semasa prapemarahan, membenarkan halaman prapaparan yang sangat disesuaikan:

@defer (hydrate on viewport) {
  <shopping-cart></shopping-cart>
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Antara muka baharu ini, ServerRoute, memberikan pembangun kawalan yang lebih besar terhadap cara kandungan dihantar, meningkatkan pengalaman pengguna dan SEO.

4. Penggantian Modul Panas (HMR) Baru Dapat Segera

Angular 19 memperkenalkan HMR segera, membenarkan gaya dan templat dikemas kini tanpa memuatkan semula keseluruhan apl. Ini bermakna pembangun dapat melihat kesan perubahan mereka dengan serta-merta, menjadikan kitaran pembangunan lebih lancar dan pantas. Penggantian modul panas untuk gaya didayakan secara lalai dalam v19! Untuk mencuba HMR untuk templat gunakan:

bootstrapApplication(App, {
  providers: [
    provideClientHydration(withEventReplay())
  ]
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Untuk melumpuhkan ciri ini tentukan "hmr": false sebagai pilihan pelayan pembangunan, atau gunakan secara alternatif:

export const serverRouteConfig: ServerRoute[] = [
  { path: '/login', renderMode: RenderMode.Server },
  { path: '/dashboard', renderMode: RenderMode.Client },
  { path: '/**', renderMode: RenderMode.Prerender },
];
Salin selepas log masuk
Salin selepas log masuk

5. Sokongan Tanpa Zon: Evolusi Berterusan

Enam bulan lalu, Angular memperkenalkan sokongan tanpa zon percubaan. Sejak itu, Angular telah mengulangi API dan mempertingkatkannya—menambah sokongan untuk pemaparan sebelah pelayan dan menambah baik pengalaman ujian.

Angular bekerjasama dengan pasukan Google Fonts untuk menjadikan aplikasi mereka tanpa zon dan menilai pengalaman pembangun. Hasilnya melebihi jangkaan, tetapi masih terdapat beberapa lagi sentuhan penggilap sebelum mengalihkan API ini ke pratonton pembangun.

Angular 19 terus bergerak ke arah masa depan di mana operasi tanpa zon menjadi lalai, memudahkan pengesanan perubahan dengan ketara dan menjadikan aplikasi lebih ramping.

Untuk bereksperimen dengan tanpa zon, gunakan persediaan berikut:

export const routeConfig: ServerRoute = [{
  path: '/product/:id',
  mode: 'prerender',
  async getPrerenderPaths() {
    const dataService = inject(ProductService);
    const ids = await dataService.getIds();
    return ids.map(id => ({ id }));
  },
}];
Salin selepas log masuk

6. Isyarat Terpaut: Keadaan Reaktif dengan Kesedaran Kontekstual

Salah satu tambahan baharu yang paling hebat ialah isyarat terpaut. Dengan ciri ini, isyarat yang diikat bersama mengekalkan perhubungan mereka walaupun semasa data dikemas kini. Ini amat berguna untuk senario di mana berbilang titik data perlu kekal disegerakkan secara dinamik. Contohnya, mengekalkan keadaan lungsur turun atau pilihan yang diperoleh daripada sumber reaktif lain kini lebih mudah dan memerlukan kurang plat dandang.

NG_HMR_TEMPLATES=1 ng serve
Salin selepas log masuk

API linkedSignal menyediakan cara mudah untuk menyatakan kebergantungan antara elemen stateful tanpa menggunakan kesan. API baharu mempunyai dua bentuk: versi ringkas (ditunjukkan di sini) dan versi lanjutan yang memberikan pembangun akses kepada nilai sebelumnya bagi isyarat terpaut dan sumber.

7. Peningkatan Bahan Sudut

Bahan Angular juga mendapat peningkatan yang ketara dalam Angular 19. Kini terdapat API bertema baharu yang lebih disesuaikan, membolehkan pembangun mengatasi gaya dengan mudah dan mengubah rupa dan rasa komponen Bahan Sudut tanpa menyelami lebih mendalam CSS bersarang. Dokumentasi setiap komponen juga termasuk tab Penggayaan untuk rujukan lebih mudah tentang cara membuat perubahan ini.

Komponen Drag and Drop yang dinanti-nantikan akhirnya telah ditambahkan secara asli pada Angular Material, membolehkan pembangun melaksanakan interaksi drag-and-drop yang canggih tanpa bergantung pada perpustakaan pihak ketiga.

import { provideClientHydration, withIncrementalHydration } from '@angular/platform-browser';

bootstrapApplication(AppComponent, {
  providers: [
    provideClientHydration(withIncrementalHydration())
  ]
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Untuk menyesuaikan komponen individu:

@defer (hydrate on viewport) {
  <shopping-cart></shopping-cart>
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

8. Skrip Migrasi untuk Isyarat

Menghijrahkan apl anda kepada model kereaktifan berasaskan isyarat baharu kini lebih mudah berkat skrip migrasi terbina dalam. Skrip ini membantu mengalihkan input, output dan pertanyaan sedia ada anda untuk menggunakan isyarat dan bukannya penghias Angular yang lebih lama, memastikan apl anda kekal moden dengan usaha yang minimum.

bootstrapApplication(App, {
  providers: [
    provideClientHydration(withEventReplay())
  ]
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

9. Dasar Keselamatan Kandungan Dipertingkat

Keselamatan ialah satu lagi fokus utama keluaran ini. Angular 19 memperkenalkan sokongan untuk auto CSP (Dasar Keselamatan Kandungan), yang secara automatik menambah konfigurasi CSP selamat pada aplikasi anda untuk mengelakkan serangan XSS dan kelemahan lain secara lalai. Ini merupakan langkah penting ke arah amalan keselamatan yang lebih baik dengan konfigurasi manual yang kurang.

export const serverRouteConfig: ServerRoute[] = [
  { path: '/login', renderMode: RenderMode.Server },
  { path: '/dashboard', renderMode: RenderMode.Client },
  { path: '/**', renderMode: RenderMode.Prerender },
];
Salin selepas log masuk
Salin selepas log masuk

10. Masa Depan Pengujian dalam Sudut

Akhir sekali, nota utama mengenai ujian—Karma sedang ditamatkan dan memihak kepada alatan yang lebih moden seperti Jest dan Web Test Runner. Menjelang pertengahan 2025, Karma tidak akan disokong lagi, yang memberikan pembangun masa yang mencukupi untuk berhijrah kepada persediaan ujian yang lebih andal yang menyepadukan dengan lancar dengan seluruh ekosistem Angular moden.

Membungkus

Angular 19 bukan sekadar kemas kini; ia adalah versi berfikiran ke hadapan yang mengoptimumkan untuk kedua-dua pembangun dan pengalaman pengguna. Dengan ciri seperti penghidratan tambahan, ulang tayang acara, mod pemaparan peringkat laluan, HMR segera, langkah ke arah tanpa zon dan pelbagai peningkatan produktiviti, versi ini membawa Angular lebih dekat kepada idealnya—rangka kerja moden, berprestasi tinggi, mesra pembangun .

Jika anda ingin berhijrah atau memulakan projek baharu, Angular 19 menyediakan asas kukuh yang menyokong ciri termaju dan amalan terbaik yang berkembang. Beritahu saya ciri yang paling anda teruja atau jika anda mempunyai sebarang soalan tentang penggunaan Angular 19 dalam projek anda!

Atas ialah kandungan terperinci Memodenkan Sudut: Apa yang Baharu dalam Sudut 19. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Mar 18, 2025 pm 03:16 PM

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Mar 18, 2025 pm 03:17 PM

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble Mar 15, 2025 am 09:19 AM

Tutorial ini akan menerangkan cara membuat carta pai, cincin, dan gelembung menggunakan carta.js. Sebelum ini, kami telah mempelajari empat jenis carta carta.js: carta baris dan carta bar (tutorial 2), serta carta radar dan carta rantau polar (Tutorial 3). Buat carta pai dan cincin Carta pai dan carta cincin sangat sesuai untuk menunjukkan perkadaran keseluruhan yang dibahagikan kepada bahagian yang berlainan. Sebagai contoh, carta pai boleh digunakan untuk menunjukkan peratusan singa lelaki, singa wanita dan singa muda dalam safari, atau peratusan undi yang diterima oleh calon yang berbeza dalam pilihan raya. Carta pai hanya sesuai untuk membandingkan parameter tunggal atau dataset. Harus diingat bahawa carta pai tidak dapat menarik entiti dengan nilai sifar kerana sudut kipas dalam carta pai bergantung pada saiz berangka titik data. Ini bermaksud mana -mana entiti dengan perkadaran sifar

TypeScript untuk pemula, Bahagian 2: Jenis Data Asas TypeScript untuk pemula, Bahagian 2: Jenis Data Asas Mar 19, 2025 am 09:10 AM

Sebaik sahaja anda telah menguasai tutorial TypeScript peringkat kemasukan, anda harus dapat menulis kod anda sendiri dalam IDE yang menyokong TypeScript dan menyusunnya ke dalam JavaScript. Tutorial ini akan menyelam ke dalam pelbagai jenis data dalam TypeScript. JavaScript mempunyai tujuh jenis data: null, undefined, boolean, nombor, rentetan, simbol (diperkenalkan oleh ES6) dan objek. Typescript mentakrifkan lebih banyak jenis atas dasar ini, dan tutorial ini akan meliputi semuanya secara terperinci. Jenis data null Seperti JavaScript, Null dalam TypeScript

See all articles