Rumah >hujung hadapan web >tutorial js >Ciri ode.js yang Anda Tidak Tahu
Peningkatan prestasi dan ciri baharu untuk Node.js: Bersaing dengan Deno dan Bun
Ramai orang berminat untuk membincangkan kelajuan masa jalan JavaScript baharu, yang secara tidak langsung (dan kadangkala secara langsung) membayangkan bahawa Node.js lebih perlahan atau tidak mempunyai ciri bersepadu tertentu. Model pembangunan Deno 2 dan Bun mencadangkan bahawa ia bertujuan untuk menjadi kit alat semua-dalam-satu untuk membina aplikasi JavaScript. Mereka:
Menggunakan Node.js memerlukan penggunaan alat pihak ketiga untuk menyelesaikan tugasan ini, seperti menggunakan dotenv untuk memuatkan fail .env.
Walau bagaimanapun, Node.js telah mengejar ketinggalan. Artikel ini akan menyerlahkan tiga daripada banyak ciri yang ditambahkan sejak versi 20 atau 22. Mari mulakan.
Ramai orang bergantung pada dotenv untuk memuatkan fail persekitaran. Kami akan menulis require('dotenv').config()
atau import 'dotenv/config'
dan kemudian mengakses nilai daripada process.env
. Bermula dalam versi 20.6.0, anda boleh menggunakan bendera --env-file
untuk menentukan fail dari mana Node.js harus memuatkan pembolehubah persekitaran.
Sebagai contoh, arahan berikut akan memuatkan pembolehubah persekitaran daripada fail .env:
<code class="language-bash">node --env-file=.env index.js</code>
Anda juga boleh memuatkan berbilang fail dengan melepasi bendera dua kali:
<code class="language-bash">node --env-file=.env --env-file=config.env index.js</code>
Sesetengah orang telah melaporkan peningkatan dalam prestasi aplikasi mereka dengan mengalih keluar pakej dotenv dan menggunakan Node.js secara langsung. Inilah yang Wes Bos tweet tentang masa permulaan aplnya daripada 1300ms kepada 1ms:
Saya percaya anda telah menggunakan alat yang berbeza untuk memantau fail sumber anda dan memulakan semula aplikasi apabila anda menukar kod. Kami telah melakukan ini dalam pelbagai cara, salah satunya menggunakan nodemon, utiliti yang memantau perubahan dalam fail sumber dan memulakan semula pelayan secara automatik.
Bermula dengan versi 18.11.0 dan 16.19.0, node
CLI mendapat dua bendera baharu untuk melakukan ini: --watch
dan --watch-path
. Menjalankan node --watch index.js
akan memulakan aplikasi dalam mod jam tangan dan akan menonton titik masuk dan mana-mana modul yang diperlukan atau diimport. Anda harus menggunakan bendera --watch-path
untuk menentukan laluan untuk dipantau, bukannya fail kemasukan dan modul yang diimport.
Terdapat juga bendera yang berkaitan dengan mod tontonan: bendera --watch-preserve-output
. Anda boleh menggunakan bendera ini jika anda ingin menghalang output konsol daripada dikosongkan apabila proses dimulakan semula dalam mod jam tangan.
<code class="language-bash">node --env-file=.env index.js</code>
Walaupun Node.js tidak mempunyai pengurus pakej terbina dalam, kebanyakan pemasangan biasanya disertakan dengan npm. Anda telah menggunakan npm run
atau perintah serupa daripada pelbagai pengurus pakej untuk menjalankan skrip yang ditakrifkan dalam package.json
. Ini bukan masalah, tetapi Bun dan Deno bermegah tentang masa yang diperlukan untuk mendapatkan skrip package.json
dan berjalan, yang mungkin telah membuatkan pasukan Node mempertimbangkan semula pilihan ini.
Bermula dengan versi 22.0.0, Node.js kini boleh menjalankan skrip melalui bendera --run
, seperti node --run dev
. Ini bukan sahaja menggantikan npm run
tanpa membawa sebarang faedah atau batasan. Menggunakan node --run
telah terbukti lebih pantas daripada arahan npm run
. Beberapa ciri yang sengaja dikecualikan daripada pelaksanaan masa jalan lain termasuk:
Anda boleh membaca lebih lanjut tentang bendera ini dalam dokumentasi.
Artikel ini meneroka penambahbaikan terkini pada Node.js yang membawanya lebih dekat dengan keupayaan penyepaduan yang disediakan oleh Deno 2 dan Bun. Kami menyemak ciri berikut:
--env-file
untuk memuatkan fail .env--watch
dan --watch-path
yang diperkenalkan dalam versi 18.11.0 dan 16.19.0--run
, tersedia sejak versi 22.0.0, menyediakan cara yang lebih pantas untuk menjalankan package.json
skripKemas kini ini membantu Node.js mengejar masa jalan lain dengan mengurangkan keperluan untuk alatan pihak ketiga dan meningkatkan prestasi, keselamatan dan kebolehgunaan.
Artikel asal diterbitkan oleh saya di blog Telerik
Atas ialah kandungan terperinci Ciri ode.js yang Anda Tidak Tahu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!