Kami di TestMace secara aktif menggunakan NestJS untuk mengembangkan layanan kami. Hari ini, perhatian Anda adalah terjemahan dari artikel yang ditujukan untuk mengulas fitur versi utama NestJS yang baru.
Hari ini saya senang mempersembahkan rilis resmi Nest 6 - kerangka kerja Node.js progresif untuk membuat aplikasi server perusahaan yang efisien.
Untuk komunitas kami, tahun lalu tidak berlalu tanpa jejak: popularitas telah tumbuh hampir 300%, yang 4 kali lebih banyak daripada perpustakaan HTTP yang ada. Mereka berbicara tentang Nest di sejumlah besar konferensi di seluruh dunia, dan banyak artikel dan video dibuat. 2018 luar biasa, dan 2019 akan lebih baik!
Apa yang baru?
Rilis baru ini sedang mempersiapkan banyak fitur keren! Sayangnya, kita tidak akan punya waktu untuk membahas semuanya, tetapi kita pasti akan fokus pada yang terpanas dari mereka!
Lingkup injeksi
Dalam versi Nest sebelumnya, setiap penyedia dibagikan oleh beberapa permintaan. Menggunakan singleton mengurangi konsumsi memori dan meningkatkan kinerja aplikasi.
Namun, dalam beberapa kasus, kontrol tambahan atas siklus hidup masing-masing penyedia mungkin diperlukan. Misalnya, ketika menerapkan cache terpisah untuk setiap permintaan dalam aplikasi GraphQL saat membuat sistem multi-pengguna. Untuk mengatasi masalah seperti itu, wadah IoC sekarang memiliki tingkat detail lainnya, memungkinkan Anda untuk membuat cakupan injeksi baru - Lingkup Transien dan Lingkup Permintaan.

→ Anda dapat membaca lebih lanjut tentang mereka di
sini.Platform
Nest adalah kerangka kerja penuh dan platform-independen. Berkat ini, pengembang dapat membuat blok logis yang dapat digunakan kembali di berbagai jenis aplikasi. Dengan Nest, Anda dapat dengan mudah dan mudah membuat aplikasi web, utilitas konsol, antrian pekerjaan, dan umumnya apa saja! Kami telah mengambil semua fungsionalitas terkait platform ke dalam paket terpisah seperti
@nestjs/platform-express
, dan sekarang Anda dapat menulis lebih sedikit kode. Cukup instal semua yang Anda butuhkan untuk aplikasi Anda!
Acara
Sebelumnya, operasi setiap saluran komunikasi microservice dibangun berdasarkan paradigma permintaan / respons. Mekanisme interaksi semacam ini sangat cocok untuk pengiriman pesan antar berbagai layanan eksternal. Melihat konfirmasi, Anda dapat yakin bahwa layanan tersebut benar-benar menerima pesan.
Namun, untuk beberapa sistem tidak perlu membuat saluran dua arah, karena ini mengarah ke overhead yang tidak perlu ketika Anda hanya perlu mempublikasikan suatu acara (tanpa meminta jawaban apa pun). Itu sebabnya kami memperkenalkan pesan berbasis acara . Berkat paradigma ini, cukup dengan hanya memberi tahu berbagai layanan dengan pesan jika, misalnya, situasi tertentu muncul di suatu tempat dalam sistem.

Ternyata solusi ini di masa mendatang akan memberikan peluang untuk mengintegrasikan platform perpesanan yang lebih kompleks. Ikuti beritanya!
GraphQL ♡ TypeScript
Salah satu masalah paling umum dengan GraphQL adalah tipe redundansi. Memecahkan masalah ini di versi Nest sebelumnya, kami menambahkan kompiler yang mengubah definisi yang ditulis dalam SDL menjadi antarmuka TypeScript (atau kelas).
Nest versi 6.0.0 menawarkan paket
type-graphql
yang memungkinkan Anda menghasilkan file GraphQL hanya dengan dekorator TypeScript! Sekarang ada dua cara untuk dipilih, dan Anda dapat memutuskan sendiri mana yang lebih cocok untuk kebutuhan spesifik. Kedua pendekatan disediakan dalam paket
@nestjs/graphql
.

→ Lebih lanjut tentang ini
di siniCLI
Paket Nest Angular DevKit yang mendasarinya telah diperbarui, yang berarti antarmuka baris perintah sekarang menampilkan petunjuk . Selain itu, kami menambahkan dukungan untuk nest g lib
, yang akan membantu menyederhanakan pengembangan saat menggunakan repositori tunggal.
Dokumentasi
Dokumentasi Nest resmi telah dirancang ulang dan sekarang sepenuhnya ditulis dalam Markdown . Menurut pendapat kami, akan lebih mudah untuk bekerja dengan dokumentasi, dan pada waktunya kami akan dapat membuatnya lebih baik.
Mitra dan komunitas
Berita baik: Konsol Angular (UI untuk Angular CLI) sekarang mendukung Nest!

Nest menjadi solusi utama untuk membuat aplikasi Node terstruktur dan dapat diskalakan dalam repositori Angular.
Selain itu, kami baru-baru ini meluncurkan saluran Perselisihan resmi. Berlangganan ke saluran dan bergabung dengan diskusi Nest dan topik menarik lainnya!
Bermigrasi dari Sarang 5
Ikuti instruksi untuk memigrasikan proyek yang ada. Anda harus menyingkirkan peringatan apa pun tentang tidak diinginkannya menggunakan bagian mana pun dari program yang mungkin muncul di konsol.
Dukungan
Nest adalah proyek berlisensi sumber terbuka MIT. Pengembangannya saat ini dimungkinkan berkat dukungan dari komunitas, sponsor utama kami - Valor Software dan perusahaan lain. Baru-baru ini, dua sponsor telah bergabung dalam daftar ini - Blueanchor dan NovoLogic . Terima kasih
Kami harus berjalan jauh, bekerja sampai akhir pekan dan tidak tidur selama berhari-hari, sehingga kerangka kerja kami lahir. Saya percaya bahwa kebaikan akan menyelamatkan dunia! ️
Jika Anda ingin berkontribusi pada proyek kami, ikuti tautannya .
Rencana masa depan
Masih ada beberapa poin dalam ekosistem yang ingin saya tingkatkan.

Saya sudah memiliki beberapa ide yang direncanakan untuk implementasi dalam beberapa bulan mendatang.
- Kami ingin menulis ulang modul Swagger untuk menggunakan TypeScript AST. Ini akan menambah banyak fitur baru yang bermanfaat. Baca lebih lanjut di sini .
- Contoh autentikasi dunia nyata yang lebih kompleks untuk berbagai penyedia.
- Menyebarkan aplikasi tanpa server dan lebih banyak DevOps!
- Kursus video resmi!
- Artikel pendidikan.
Ucapan Terima Kasih
Terima kasih kepada para sponsor, komunitas dan semua orang yang terlibat! Kami menciptakan produk kami
untuk Anda , dan kami baru berada di awal perjalanan panjang.